Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Правильно заполнить структуру MSGBOXPARAMS.


Автор: NUCLEuS 1.9.2005, 22:17
Народ, подскажите плизз как правильно заполнить поле lpszIcon структуры MSGBOXPARAMS.

Дело в том что я использую MessageBoxIndirect для MessageBox'а со своей иконкой. Вот только давно не пользовался им и уже забыл как нужно заполнять поле lpszIcon. Допустим у меня есть в ресурсах иконка MAINICON и я хочу чтобы MessageBoxIndirect был с ней.

Я делаю так:

Params.lpszIcon:=PChar(LoadIcon(hInstance,'MAINICON'));

всё компилится но вылезает AccessViolation. Помогите заполнить правильно.

Автор: rsm 1.9.2005, 22:45
Код

program msgbox;

uses
  Windows;

{$R rsrc.res}

var
   mbp: TMsgBoxParams;

const
   ICI_MAIN = 1001;   

begin
   with mbp do
      begin
         cbSize:= sizeof(mbp);
         hwndOwner:= 0;
         hInstance:= GetModuleHandle(nil);
         lpszText:= 'Some text...';
         lpszCaption:= 'iNf0';
         dwStyle:= MB_USERICON;
         lpszIcon:= pchar(ICI_MAIN);
      end;
   MessageBoxIndirect(mbp);
end.

Код

// rsrc.rc

1001 ICON DISCARDABLE "icon.ico"

Автор: NUCLEuS 1.9.2005, 23:23
rsm спасибо smile Так всё просто. А я мудрил smile smile
Добавлено @ 23:25
2Модератор - тему можно закрыть.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)