Ковыряюсь во всяких справочниках... чего то ни фига не получается... Если кто может подскажите, как сделать или где поглядеть пример...
1. CreateWindow ( 'STATIC', text', WS_CHILD or WS_VISIBLE, 30, 8, 500, 80, handleWnd, 0, hInstance, nil ); * как задать ему цвет * сделать вертикальный скролл * изменить шрифт (размер, цвет и сам шрифт)
После показа messageBox'а скрывается основная форма... а это не нужно...
Естественно... Окно получает сообщение WM_DESTROY тогда, когда уже не может отменить закрытие, ты отменяешь только уничтожение окна... Закрывается оно еще перед вызовом MessageBox-а... Тебе надо обрабатывать WM_CLOSE, чтоб иметь возможность отменять закрытие окна:
WM_CLOSE: begin // если все-таки хочешь выйти, значит удалить-таки окно: DestroyWindow if MessageBox(handleWnd, 'Подтверждение...', 'хотите выйти ?', MB_OKCANCEL + MB_ICONASTERISK + MB_SYSTEMMODAL) = IDOK then DestroyWindow(handleWnd); end;
Естественно... Окно получает сообщение WM_DESTROY тогда, когда уже не может отменить...
С этим понятно... Вот пытаюсь тут по FAQ (drkb), статья: "Сохранение и выдёргивание ресурсов в DLL или EXE? " сохранить ресурс в exe... ресурс создал, в exe он судя по размеру тоже добавляется, а когда пытаюсь его извлечь выдает: "Resourse 1 not found"
procedure ExtractToFile(Instance:THandle; ResID:Integer; ResType, FileName:String); var ResStream: TResourceStream; FileStream: TFileStream; begin try ResStream := TResourceStream.CreateFromID(Instance, ResID, pChar(ResType)); try if FileExists(FileName) then DeleteFile(pChar(FileName)); FileStream := TFileStream.Create(FileName, fmCreate); try FileStream.CopyFrom(ResStream, 0); finally FileStream.Free; end; finally ResStream.Free; end; except on E:Exception do begin DeleteFile(FileName); raise; end; end; end;