powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Значение ячейки грида
11 сообщений из 61, страница 3 из 3
Значение ячейки грида
    #39689806
Гирлионайльдо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А рассматривали вариант с получением handle грида ? И с ним работу в стандартном режиме WinApi ?
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39689853
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГирлионайльдоА рассматривали вариант с получением handle грида ? И с ним работу в стандартном режиме WinApi ?Ух ты! Научишь?
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39689867
Flashpoke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Soft21TDBGridEx. Перехват TextOut. Тоже ничего не дал. А ExtTextOut активируется только при активации ячеек.Можно подредактировать форму в ресурсах exe-файла (не забываем про статью 272).
Например, включить мультиселект, добавить к проперти Selection значение gstAll, в EditActions включить возможность копирования.
Тогда грид сам будет отдавать все данные по Ctrl+C.
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39689868
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Soft21Ghost Writerа какой класс грида ? WinSpy что говорит ? может там обычный syslistview32

TDBGridEx. Перехват TextOut. Тоже ничего не дал. А ExtTextOut активируется только при активации ячеек.

У меня выводит через ExtTextOutA, если получилось перехватить, дело за малым - получить хендл окна, установить фокус и слать сообщения с кнопками "вверх" или "вниз", т.к. текст перерисовывается только видимый.
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39690135
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обратил внимание, что тестовая программа имеет 2 секции импорта из User32. Интересно, почему?
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39690172
jmp_orginal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x1ca4064, всего две? Действительно странно. В Delphi-прогах их обычно три плюс две в отложенных.
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39690849
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Распознавание не вариант? На тексте должно работать без нареканий, даже в принципе можно самому на коленке наваять на основе шаблонов, зная параметры шрифта
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39691560
Soft21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Василий 2,

Думаю это единственный вариант. Увы.
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39691588
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Soft21Василий 2,

Думаю это единственный вариант. Увы.
Распознавать можно только видимую часть, т.е. все равно придется "бегать" по гриду, IMHO, перехват ExtTextOutA проще (и надежнее), кроме того, перехватывается весь текст ячейки, а не только органиченный Rect ячейки.
У меня, на тестовой проге, получается так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
ExtTextOutA: (HDC: 19011009 Rect:(Left=13 Top=1 Right=135 Bottom=16) lpString:'DSetField1')

ExtTextOutA: (HDC: 19011009 Rect:(Left=138 Top=1 Right=260 Bottom=16) lpString:'DSetField2')

ExtTextOutA: (HDC: 19011009 Rect:(Left=263 Top=1 Right=385 Bottom=16) lpString:'DSetField3')

ExtTextOutA: (HDC: 19011009 Rect:(Left=12 Top=18 Right=136 Bottom=35) lpString:'Row7Col0')

ExtTextOutA: (HDC: 19011009 Rect:(Left=137 Top=18 Right=261 Bottom=35) lpString:'Row7Col1')

ExtTextOutA: (HDC: 19011009 Rect:(Left=262 Top=18 Right=386 Bottom=35) lpString:'Row7Col2')

ExtTextOutA: (HDC: 19011009 Rect:(Left=12 Top=36 Right=136 Bottom=53) lpString:'Row8Col0')

ExtTextOutA: (HDC: 19011009 Rect:(Left=137 Top=36 Right=261 Bottom=53) lpString:'Row8Col1')

ExtTextOutA: (HDC: 19011009 Rect:(Left=262 Top=36 Right=386 Bottom=53) lpString:'Row8Col2')

ExtTextOutA: (HDC: 19011009 Rect:(Left=12 Top=54 Right=136 Bottom=71) lpString:'Row9Col0')

ExtTextOutA: (HDC: 19011009 Rect:(Left=137 Top=54 Right=261 Bottom=71) lpString:'Row9Col1')

ExtTextOutA: (HDC: 19011009 Rect:(Left=262 Top=54 Right=386 Bottom=71) lpString:'Row9Col2')

ExtTextOutA: (HDC: 19011009 Rect:(Left=12 Top=72 Right=136 Bottom=89) lpString:'Row10Col0')

ExtTextOutA: (HDC: 19011009 Rect:(Left=137 Top=72 Right=261 Bottom=89) lpString:'Row10Col1')

ExtTextOutA: (HDC: 19011009 Rect:(Left=262 Top=72 Right=386 Bottom=89) lpString:'Row10Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=13 Top=1 Right=135 Bottom=16) lpString:'DSetField1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=138 Top=1 Right=260 Bottom=16) lpString:'DSetField2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=263 Top=1 Right=385 Bottom=16) lpString:'DSetField3')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=18 Right=136 Bottom=35) lpString:'Row0Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=18 Right=261 Bottom=35) lpString:'Row0Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=18 Right=386 Bottom=35) lpString:'Row0Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=36 Right=136 Bottom=53) lpString:'Row1Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=36 Right=261 Bottom=53) lpString:'Row1Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=36 Right=386 Bottom=53) lpString:'Row1Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=54 Right=136 Bottom=71) lpString:'Row2Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=54 Right=261 Bottom=71) lpString:'Row2Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=54 Right=386 Bottom=71) lpString:'Row2Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=72 Right=136 Bottom=89) lpString:'Row3Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=72 Right=261 Bottom=89) lpString:'Row3Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=72 Right=386 Bottom=89) lpString:'Row3Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=90 Right=136 Bottom=107) lpString:'Row4Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=90 Right=261 Bottom=107) lpString:'Row4Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=90 Right=386 Bottom=107) lpString:'Row4Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=108 Right=136 Bottom=125) lpString:'Row5Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=108 Right=261 Bottom=125) lpString:'Row5Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=108 Right=386 Bottom=125) lpString:'Row5Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=126 Right=136 Bottom=143) lpString:'Row6Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=126 Right=261 Bottom=143) lpString:'Row6Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=126 Right=386 Bottom=143) lpString:'Row6Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=144 Right=136 Bottom=161) lpString:'Row7Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=144 Right=261 Bottom=161) lpString:'Row7Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=144 Right=386 Bottom=161) lpString:'Row7Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=162 Right=136 Bottom=179) lpString:'Row8Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=162 Right=261 Bottom=179) lpString:'Row8Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=162 Right=386 Bottom=179) lpString:'Row8Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=180 Right=136 Bottom=197) lpString:'Row9Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=180 Right=261 Bottom=197) lpString:'Row9Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=180 Right=386 Bottom=197) lpString:'Row9Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=198 Right=136 Bottom=215) lpString:'Row10Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=198 Right=261 Bottom=215) lpString:'Row10Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=198 Right=386 Bottom=215) lpString:'Row10Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=216 Right=136 Bottom=233) lpString:'Row0Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=216 Right=261 Bottom=233) lpString:'Row0Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=216 Right=386 Bottom=233) lpString:'Row0Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=234 Right=136 Bottom=251) lpString:'Row1Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=234 Right=261 Bottom=251) lpString:'Row1Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=234 Right=386 Bottom=251) lpString:'Row1Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=252 Right=136 Bottom=269) lpString:'Row2Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=252 Right=261 Bottom=269) lpString:'Row2Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=252 Right=386 Bottom=269) lpString:'Row2Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=270 Right=136 Bottom=287) lpString:'Row3Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=270 Right=261 Bottom=287) lpString:'Row3Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=270 Right=386 Bottom=287) lpString:'Row3Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=288 Right=136 Bottom=305) lpString:'Row4Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=288 Right=261 Bottom=305) lpString:'Row4Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=288 Right=386 Bottom=305) lpString:'Row4Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=306 Right=136 Bottom=323) lpString:'Row5Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=306 Right=261 Bottom=323) lpString:'Row5Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=306 Right=386 Bottom=323) lpString:'Row5Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=324 Right=136 Bottom=341) lpString:'Row6Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=324 Right=261 Bottom=341) lpString:'Row6Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=324 Right=386 Bottom=341) lpString:'Row6Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=342 Right=136 Bottom=359) lpString:'Row7Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=342 Right=261 Bottom=359) lpString:'Row7Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=342 Right=386 Bottom=359) lpString:'Row7Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=360 Right=136 Bottom=377) lpString:'Row8Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=360 Right=261 Bottom=377) lpString:'Row8Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=360 Right=386 Bottom=377) lpString:'Row8Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=378 Right=136 Bottom=395) lpString:'Row9Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=378 Right=261 Bottom=395) lpString:'Row9Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=378 Right=386 Bottom=395) lpString:'Row9Col2')

ExtTextOutA: (HDC: 4701132C Rect:(Left=12 Top=396 Right=136 Bottom=413) lpString:'Row10Col0')

ExtTextOutA: (HDC: 4701132C Rect:(Left=137 Top=396 Right=261 Bottom=413) lpString:'Row10Col1')

ExtTextOutA: (HDC: 4701132C Rect:(Left=262 Top=396 Right=386 Bottom=413) lpString:'Row10Col2')
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39691597
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Soft21,

Хотя, учитывая, что есть DBGrid, можно добраться и до dataset, а уж тогда...
...
Рейтинг: 0 / 0
Значение ячейки грида
    #39691672
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jmp_orginalx1ca4064, всего две? Действительно странно. В Delphi-прогах их обычно три плюс две в отложенных.
Понятно: для каждого модуля, в котором прописан импорт из dll, создается своя секция. Вообщем, логично.
...
Рейтинг: 0 / 0
11 сообщений из 61, страница 3 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Значение ячейки грида
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]