Форум: "WinAPI";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизSendDlgItemMessage Найти похожие ветки
← →
Pattern (2003-08-30 16:09) [0]Наверное, всем известна эта функция, которая описывается следующим образом:
SendDlgItemMessage(hDlg: HWND; nIDDlgItem: Integer; Msg: UINT; wParam: WPARAM; lParam: LPARAM)
Вот кто мне может объяснить. Например, есть на форме ListBox1. Как мне получить его числовой индентификатор, чтобы занести вместо nIDDlgItem?
← →
Pattern (2003-08-30 16:36) [1]Только не переносите мой вопрос в топик WinAPI, так как я хочу узнать, как это сделать средствами Delphi.
← →
DrPass (2003-08-30 16:58) [2]Извлечь из ресурсов описание диалога и посмотреть. Delphi тут не причем - это делается на этапе разработки, а не в рантайме. Идентификатор ведь никогда не меняется, он задан программистом при разработке диалога.
← →
Pattern (2003-08-30 17:27) [3]Хм! Теперь понятно, почему в С++ подобную функцию описывают например так:
#DEFINE IDC_LISTBOX1 101
Только вот не совсем понятно, как это определяет именно ListBox1. Тут же не указано что это ListBox1 типа TListBox. Ну ладно с С++.
А в Delphi как извлечь ID из ресурса?
← →
Ык (2003-08-30 19:58) [4]Удалено модератором
Примечание: Offtopic
← →
DrPass (2003-08-30 20:11) [5]Чтобы так получить ID, нужно знать хендл, что долго и нудно.
А по поводу #DEFINE IDC_LISTBOX1 101 - это еще никак не определяет ListBox1. Потом в rc-файле будет строка типа
LISTBOX IDC_LISTBOX1, 10, 10, 100, 200 - которая определяет листбокс, его параметры (я указал только координаты), и привязывает его к константе IDC_LISTBOX1.
Так вот о чем речь: тебе нужно открыть прогу редактором ресурсов, и посмотреть, чему там равны эти константы типа IDC_LISTBOX1 - вот и все
← →
Pattern (2003-08-30 20:47) [6]-> DrPass
Дык, что я могу открыть редактором ресурсов, если у меня ещё exe-файл не скомпилирован?
-> Ык
Мля, я поражаюсь, как всегда всё рашается проще простого. Огромное спасибо за помощь. А тем кого интересует и он ещё не понял как, показываю:
GetDlgCtrlID(Form1.ListBox1.Handle)
И псё!
← →
DrPass (2003-08-30 22:13) [7]Брррр! Тогда напрашивается вполне логичный вопрос: нафиг тебе нужна функция SendDlgItemMessage, если ты ее собираешься использовать для посылки сообщения в диалог своей программы, да еще и созданный с помощью VCL????
Это маразм какой-то...
← →
Pattern (2003-08-31 09:53) [8]-> DrPass
Ну в этом конечно есть немного маразматики... Но дело то не в том, над чем осуществляется операция: над своими компанентами или над чужими. А в том, как это осуществляется вообще. И между прочим и не совсем всё так критично. Чтобы не попортить другие программы, можно поиздеваться над своими...
← →
Игорь Шевченко (2003-09-01 15:45) [9]
> Наверное, всем известна эта функция, которая описывается
> следующим образом:
> SendDlgItemMessage(hDlg: HWND; nIDDlgItem: Integer; Msg:
> UINT; wParam: WPARAM; lParam: LPARAM)
> Вот кто мне может объяснить. Например, есть на форме ListBox1.
> Как мне получить его числовой индентификатор, чтобы занести
> вместо nIDDlgItem?
А эта...почему не просто SendMessage(ListBox1.Handle, и далее нужные параметры) ?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c