DialogBoxIndirectParam funkcia vytvorí modálnym dialógovým oknom z dialógového okna pole Šablóna v pamäti. Pred zobrazením dialógového okna, prechádza funkciu definovanom aplikáciou hodnotu dialógové okno pole postup ako lParam parameter WM_INITDIALOG správy. Jedna aplikácia môže použiť túto hodnotu na inicializáciu ovládacie prvky dialógového okna.
int DialogBoxIndirectParam ( HINSTANCE hInstance; / / spracovávať na aplikáciu stupňaLPCDLGTEMPLATEhDialogTemplate, / / identifikuje dialógovom poli šablónaHWNDhWndParent; / / zvládnuť vlastník oknaDLGPROClpDialogFunc; / / ukazovateľ do dialógového poľa postupLPARAMdwInitParam / / Inicializačná hodnota);
V šablóne štandardného dialógového okna v hlavičke je DLGTEMPLATE štruktúra nasleduje ďalšie polia premenlivej dĺžky. Údaje pre každý ovládací prvok pozostáva z DLGITEMTEMPLATE štruktúra nasleduje ďalšie polia premenlivej dĺžky.
V šablóne rozšíreného dialógového okna v hlavičke používa DLGTEMPLATEEX formát a kontrolu definície používať formát DLGITEMTEMPLATEEX.
Ak funkciu podarí, vrátená hodnota je parameter nResult stanovených vo výzve na EndDialog funkciu, ktorá bola použitá na ukončenie dialógového okna.
Ak funkcia zlyhá, vrátená hodnota je –1. Získajte rozšírené informácie o chybách, volajte na číslo GetLastError.
Funkcia DialogBoxIndirectParam používa funkciu CreateWindowEx na vytvorenie dialógového okna. DialogBoxIndirectParam potom odošle správu WM_INITDIALOG postupu dialógové okno pole. Ak šablóna určuje DS_SETFONT štýl, funkciu tiež pošle správu WM_SETFONT postupu dialógové okno pole. Funkcia zobrazí dialógové okno (nezávisle od, či šablóna určuje štýl WS_VISIBLE), zakáže vlastník okno a začína svoju správu nabíjaciu stanicu na získanie a odoslanie správy o dialógovom okne.
Keď dialógové okno pole postup zavolá funkciu EndDialog , DialogBoxIndirectParam ničí dialógového okna, končí správy slučky, umožňuje vlastníkom okno (ak je už zapnutý) a vráti hodnotu parametra nResult špecifikuje dialógové okno pole postup pri volaní EndDialog.
Štandardné dialógové okno pole Šablóna, zblížiť DLGTEMPLATE štruktúra a každá z DLGITEMTEMPLATE štruktúry DWORD s hranicami. Vytvorenie údajov pole, ktoré takto DLGITEMTEMPLATE konštrukcie musia byť zarovnané na hranicu DWORD . Všetky ostatné polia premenlivej dĺžky v šablóne musí musia byť zoradené slovo hranice.
Šablónu políčka rozšírený dialóg zblížiť DLGTEMPLATEEX hlavičky a každej ovládanie definície DLGITEMTEMPLATEEX DWORD s hranicami. Vytvorenie údajov poľa, ak nejaké sú, ktoré nasleduje DLGITEMTEMPLATEEX štruktúra musí tiež zosúladené na hranicu DWORD . Všetky ostatné polia premenlivej dĺžky v šablóne zblížiť slovo hranicami.
Všetky znakových reťazcov v dialógovom okne blok šablóny, napríklad názvy pre dialógové okno a tlačidlá, musí byť reťazcov Unicode. Na vytvorenie kódu, ktorý pracuje na Windows a Windows NT, použite MultiByteToWideChar funkciu na generovanie týchto reťazcov Unicode.
Systém Windows 95 a novší:Systém môže podporovať maximálne 255 ovládacie prvky dialógového okna pole šablónu. Ak chcete umiestniť viac ako 255 ovládacie prvky v dialógovom okne, vytvoriť ovládacie prvky v WM_INITDIALOG manipulátor hlásení skôr ako umiestnenie v šablóne.
Windows CE: Ak používateľ stlačí klávesy ALT + H, zatiaľ čo dialógovom okne vstupné zameranie, systém miest WM_HELP správy dialógové okno postupu. Žiadosť by mal odpovedať na túto správu zobrazením kontextový text Pomocníka pre dialógové okno.
Iné obmedzenia dialógového okna nájdete v časti CreateDialogIndirectParam.
nbsp; Systém Windows &NT: vyžaduje verzia 3.1 alebo novšia.
Windows:Vyžaduje systém Windows 95 alebo novším.
Windows CE:Vyžaduje verziu 1.0 alebo novšiu verziu.
Hlavičky:Deklarovaný v súbore winuser.h.
Importovať knižnica:Použiť user32.lib.
Unicode:Implementovaný ako Unicode, ANSI verzia v systéme Windows NT.
Dialógové okná prehľad, dialógové okno pole funkcie, CreateWindowEx, DialogBox, DialogBoxIndirect, DialogBoxParam, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, EndDialog, MultiByteToWideChar, WM_INITDIALOG, WM_SETFONT