Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Tabs [D7, WinXP]


DjOne ©   (2004-06-13 23:29:00) 

Есть сообщение TCM_GETITEM. Как с ней работать?
Вызываю и получаю ошибку.


DjOne   (2004-06-15 13:03:00) [1]

ListView я уже проходил. Неужели и это такая же муть!!!


MBo   (2004-06-15 08:53:00) [2]

У тебя же другая программа - значит, чужое адресное пространство - читай о внедрении в чужой процесс у Рихтера (там на примере ListView)


GuAV   (2004-06-15 02:53:00) [3]


>    ZHWND:=GetFocus;


>    sendmessage (zHWND,TCM_GETITEM, 1, longint(@tm));

TabCtrl.Perform(TCM_GETITEM, 1, longint(@tm));


DjOne   (2004-06-15 02:49:00) [4]

Всё равно так же.


GuAV   (2004-06-15 02:20:00) [5]

tm.mask:=TCIF_TEXT забыл.


DjOne   (2004-06-15 01:50:00) [6]


function GetTabText():String;
var
   tm:tc_item;
 begin
   GetMem(Buff,256);
   ZHWND:=GetFocus;
   tm.pszText:=buff;
   tm.cchTextMax:=256;
   
   sendmessage (zHWND,TCM_GETITEM, 1, longint(@tm));
   GetTabText:=buff;
end;


Запускаю свою прогу и прогу где есть таб. вызываю фун-цию GetTabText и то окно виснет, а вскоре ошибка!
Что не так?


Mim1   (2004-06-14 10:17:00) [7]

typedef struct _TC_ITEM {  
   UINT mask;         // value specifying which members to retrieve or set
   UINT lpReserved1;  // reserved; do not use
   UINT lpReserved2;  // reserved; do not use
   LPSTR pszText;     // pointer to string containing tab text
   int cchTextMax;    // size of buffer pointed to by the pszText member
   int iImage;        // index to tab control's image
   LPARAM lParam;     // application-defined data associated with tab

} TC_ITEM;


Вообщем в
   LPSTR pszText;     // pointer to string containing tab textнадо выделить кусок памяти, а в
   int cchTextMax;    // size of buffer pointed to by the pszText memberнадо записать сколько ее выделили


GuAV   (2004-06-14 01:16:00) [8]


> Sendmessage(xHWND,TCM_GETITEM,0,Longint(@PI))
> Label1.caption:=PI.pszText

имхо мало кода
покажи откуда xHWND и объявление PI


DjOne   (2004-06-14 00:13:00) [9]

Всё время забываю.

Sendmessage(xHWND,TCM_GETITEM,0,Longint(@PI))
Label1.caption:=PI.pszText


Mim1   (2004-06-13 23:52:00) [10]

Код в студию (с) Якубович + я  :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо