Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
4-42276
Ilg
2003-09-11 19:11
2003.11.13
Текст из Edit


3-41044
uu
2003-10-24 15:46
2003.11.13
fastreport


1-41667
Raduga
2003-11-04 09:52
2003.11.13
Строковое представление адреса


4-42217
Dark Elf
2003-09-17 10:19
2003.11.13
Функции для копирования файлов


3-40820
csr
2003-10-16 17:41
2003.11.13
Не удаляется файл БД!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский