WinAPI » Struktury

MSGBOXPARAMS

  • 2006-08-20 19:39
  • 1 komentarz
  • 738 odsłon
  • Oceń ten tekst jako pierwszy
//C
typedef struct {
    UINT cbSize;
    HWND hwndOwner;
    HINSTANCE hInstance;
    LPCTSTR lpszText;
    LPCTSTR lpszCaption;
    DWORD dwStyle;
    LPCTSTR lpszIcon;
    DWORD_PTR dwContextHelpId;
    MSGBOXCALLBACK lpfnMsgBoxCallback;
    DWORD dwLanguageId;
} MSGBOXPARAMS, *PMSGBOXPARAMS;

//delphi
type
  PMSGBOXPARAMS = ^MSGBOXPARAMS;
  MSGBOXPARAMS = packed record
    cbSize             : Integer;
    hwndOwner          : HWND;
    hInstance          : Integer;
    lpszText           : PChar;
    lpszCaption        : PChar;
    dwStyle            : DWORD;
    lpszIcon           : PChar;
    dwContextHelpId    : PDWORD;
    lpfnMsgBoxCallback : MSGBOXCALLBACK;
    dwLanguageId       : DWORD;
  end;


Struktura MSGBOXPARAMS przechowuje informacje uzywane do wyświetlenia okna komunikatu. Używana jest przez funkcję MessageBoxIndirect.


Pola
cbSize
Określa rozmiar struktury, w bajtach.

hwndOwner
Uchwyt okna będącego właścicielem okna komunikatu. Może być NULL (0).

hInstance
Uchwyt modułu zawierającego ikonę określoną polem lpszIcon, oraz łańcuchy znaków określone polami lpszText lub lpszCaption.

lpszText
Wskaźnik na łańcuch lub identyfikator zasobu z grupy STRINGTABLE - określa komunikat przeznaczony do wyświetlenia.

lpszCaption
Wskaźnik na łańcuch lub identyfikator zasobu z grupy STRINGTABLE - określa tytuł okna komunikatu. Jeśli ma wartość NULL (0), komunikat zostanie wyświetlony z tytułem ?Błąd?.

dwStyle
Określa zawartość i zachowanie okna komunikatu. Pole może zawierać kombinacje flag wyszczególnionych w opisie parametru uType funkcji MessageBoxEx. Dodatkowo można w tym polu umieścić flagę MB_USERICON, która spowoduje, że wyswietlona zostanie ikona określona polem lpszIcon.

lpszIcon
Określa identyfikator zasobu typu ICON. Może być zarówno łańcuchem znaków jak i liczbą całkowitą identyfikującą zasób (w tym celu należy użyć makra MAKEINTRESOURCE).
Aby załadować jedną ze standardowych ikon systemowych, polu hInstance należy nadać wartość NULL (0) a polu lpszIcon nadać jedną z wartości wyszczególnionych w opisie funkcji LoadIcon.

Pole to jest ignorowane jeśli pole dwStyle nie zawiera flagi MB_USERICON.

dwContextHelpId
Określa kontekst pomocy. Jeśli nastąpi żądanie pomocy, ta wartość zostanie przekazana w strukturze HELPINFO, którą okno komunikatu posyła do okna-właściciela lub do funkcji zwrotnej.

lpfnMsgBoxCallback
Wskaźnik na funkcję zwrotną, która obsługuje żądanai pomocy dla okna komunikatu. Funkcja zwrotna posiada następującą formę:
//C
VOID CALLBACK MsgBoxCallback(LPHELPINFO lpHelpInfo);

//Delphi
procedure MsgBoxCallback(lpHelpInfo: PHELPINFO); stdcall;


Jeśli to pole ma wartość NULL (nil), to w przypadku wystąpienia żądania pomocy okno komunikatu posyła komunikat WM_HELP do okna-właściciela.

dwLanguageId
Określa identyfikator języka, w jakim wyświetlić teksty na przyciskach. Wartość musi mieć postać zwróconą przez makro MAKELANGID.
Oto lista identyfikatorów językowych (po angielsku). Należy mieć na uwadze, że każda znacjonalizowana wersja Windows 95/98/Me i Windows NT zwykle posiada zasoby ograniczonej ilości języków. Dlatego, na przykład, wersja amerykańska oferuje LANG_ENGLISH, wersja francuska - LANG_FRENCH, wersja niemiecka - LANG_GERMAN, a wersja japońska - LANG_JAPANESE. Każda wersja ofeuje LANG_NEUTRAL. To ogranicza wartości, jakie można przekazać w polu dwLanguageId. Przed określeniem języka należy pobrać listę języków zainstalowanych w systemie.


Zobacz też

1 komentarz

Jojersztajner 2006-08-13 15:09

A gdzie definicja w Pascalu (Delphi)?