Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2015.12.13;
Скачать: [xml.tar.bz2];

Вниз

Перехват сообщения WM_COPY у TCombobox - не работает   Найти похожие ветки 

 
allrussia   (2010-05-22 20:15) [0]


function NewMemoProc(wnd:HWND; uMsg:UINT; wParam:WPARAM; lParam:LPARAM):integer; stdcall;
begin
if (uMsg = WM_COPY) then
чего-то делаем..
end;

...form1.create...
h:= Combobox1.Handle;
SetWindowLong(h,GWL_USERDATA,SetWindowLong(h, GWL_WNDPROC, LPARAM(@NewMemoProc)))


Точно такой же код прекрасно работает для TMemo и TEdit

В MSDN написано,  This message has no effect when sent to a combo box with the CBS_DROPDOWNLIST style.

ставлю csSimple или другие - в равно не работает
что не так делаю ? Спасибо.


 
Игорь Шевченко ©   (2010-05-22 21:56) [1]


> что не так делаю ?


не у того окна ловишь. у ComboBox с csSimple такие сообщения отрабатывает его дочернее окно Edit

RTFM: GetComboBoxInfo hwndItem


 
allrussia   (2010-05-23 01:21) [2]

Спасибо большое, но только не получается почему-то!

procedure TForm1.FormCreate(Sender: TObject);
var h: hwnd;
  cbbInfo: TComboBoxInfo;
begin
getcomboboxinfo(ComboBox1.Handle, cbbInfo);
h:= cbbInfo.hwndItem;
SetWindowLong(h,GWL_USERDATA,SetWindowLong(h, GWL_WNDPROC, LPARAM(@NewMemoProc)))
end;


Зато все это натолкнуло меня на другую мысль.
Если жать комбинацию клавиш - сообщение не перехватывется. А если послать программно WM_PASTE - все работает! Но не с этим кодом, а с предыдущим... :)


 
allrussia   (2010-05-23 10:54) [3]

все разобрался, спасибо

надо было строку добавить здесь

procedure TForm1.FormCreate(Sender: TObject);
var h: hwnd;
 cbbInfo: TComboBoxInfo;
begin
cbbInfo.cbSize:= sizeof(TCOMBOBOXINFO);
getcomboboxinfo(ComboBox1.Handle, cbbInfo);
h:= cbbInfo.hwndItem;
SetWindowLong(h,GWL_USERDATA,SetWindowLong(h, GWL_WNDPROC, LPARAM(@NewMemoProc)))
end;



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2015.12.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.001 c
15-1429162651
Fox
2015-04-16 08:37
2015.12.13
Преферанс под Андроид


15-1428479968
Torry
2015-04-08 10:59
2015.12.13
XE8


4-1274544942
allrussia
2010-05-22 20:15
2015.12.13
Перехват сообщения WM_COPY у TCombobox - не работает


2-1403515896
Imagination
2014-06-23 13:31
2015.12.13
Исчезает картинка


15-1429392604
Юрий
2015-04-19 00:30
2015.12.13
С днем рождения ! 19 апреля 2015 воскресенье





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский