Функция DialogBoxParam

ФункциятаDialogBoxParamсъздава модален диалогов прозорец от ресурсен шаблон на диалогов прозорец. Преди да покаже диалоговия прозорец на екрана, функцията предава дефинирана от приложението стойност към процедурата на диалоговия прозорец, като параметъраlParamна съобщениетоWM_INITDIALOG. Приложение може да използва тази стойност, за да инициализира контролите на диалоговия прозорец.

[in] Манипулатор на модула, чийто изпълним файл съдържа шаблона на диалоговия прозорец.

[in] Указва шаблона на диалоговия прозорец. Този параметър е или указател към символен низ, завършващ с нула, който указва името на шаблона на диалоговия прозорец, или целочислена стойност, която указва идентификатора на ресурса на шаблона на диалоговия прозорец. Ако параметърът указва идентификатор на ресурс, неговата горна дума трябва да е нула, а ниската дума трябва да съдържа този идентификатор. Можете да използвате макросаMAKEINTRESOURCE, за да създадете тази стойност.

[in] Манипулатор на прозореца, който притежава диалоговия прозорец.

[in] Указател към процедурата на диалоговия прозорец. За повече информация относно процедурата на диалоговия прозорец вижтеDialogProc.

[in] Задава стойността, предадена на процедурата на диалоговия прозорец в параметъраlParamна съобщениетоWM_INITDIALOG.

Ако функцията успее, върнатата стойност е стойността на параметъраnResult, указан при извикване на функциятаEndDialog, използвана за затваряне на диалоговия прозорец.

Ако функцията е неуспешна, защото параметърhWndParentе невалиден, върнатата стойност е нула. В тази ситуация функцията връща нула за съвместимост с предишни версии наMicrosoft® Windows®. Акофункцията е неуспешна поради друга причина, върнатата стойност е-(минус)1. Обадете се наGetLastError, за да получите повече информация за грешката.

За да създадете диалогов прозорец, функциятаDialogBoxParamизползва функциятаCreateWindowEx. След товаDialogBoxParamизпраща съобщениетоWM_INITDIALOG(и съобщениетоWM_SETFONT, ако шаблонът посочва стилаDS_SETFONTилиDS_SHELLFONT) към процедурата на диалоговия прозорец. Функцията показва диалоговия прозорец (независимо дали шаблонът дефинира стилаWS_VISIBLE), заключва прозореца на собственика и стартира свой собствен цикъл на съобщения за извличане и разпространение на съобщения за диалоговия прозорец.

Когато процедурата на диалоговия прозорец извиква функциятаEndDialog,DialogBoxParamунищожава диалоговия прозорец, прекратява цикъла на съобщенията, активира прозореца на собственика (ако е бил изпълняван преди това) и връща параметъраnResult, зададен от процедурата на диалоговия прозорец, когато е извиканаEndDialog.

Windows 95/98/Me:Системата може да поддържа максимум255контроли в шаблон на диалогов прозорец. За да поберете повече от 255 контроли в диалогов прозорец, създайте контролите вWM_INITDIALOG,манипулатора на съобщения, вместо да ги поставяте в шаблон.

Windows 95/98/Me:DialogBoxParamWсе поддържа отMicrosoft Layer for Unicode. За да го използвате, трябва да добавите някои файлове към вашето приложение, както е посочено вMicrosoft Layer за Unicode за Windows 95/98/Me.i

Поставяне и съвместимост на DialogBoxParam