Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];

Вниз

Почему-то не работает ?   Найти похожие ветки 

 
anod   (2002-08-12 13:40) [0]

Пишу программу на WinApi, к ней подключаю модуль с вот таким вот
кодом:

procedure loadSkin(ifile: string;var Handle: HWND; hbmp, hbuttbmp: HBITMAP; bmp:Bitmap; Width, Height:Integer);
var main_p,btn_p:string;
begin
//-------------------------------------------------------------- main_p:=ExtractFilePath(ParamStr(0))+"skin\"+ReadSkinIni(ifile,"files","main");
btn_p :=ExtractFilePath(ParamStr(0))+"skin\"+ReadSkinIni(ifile,"files","buttons");
//-------------------------------------------------------------- hbmp:=LoadImage(0,PCHAR(ExtractFilePath(ParamStr(0)) + main_p), IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
hbuttbmp:=LoadImage(0,PCHAR(ExtractFilePath(ParamStr(0)) + btn_p), IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
//-------------------------------------------------------------- GetObject(hbmp, SizeOf(Bitmap), @bmp);
SetWindowPos(Handle,HWND_TOPMOST,20,0,bmp.bmWidth,bmp.bmHeight,SWP_NOZORDER);
SetWindowRgn(Handle,CreateRgnFromBitmap(hbmp,bmp),true);
Width:=bmp.bmWidth; Height:=bmp.bmHeight;
end;


Ничего не работает, но в dpr файле все тоже самое пашет???


 
Leran2002   (2002-08-12 13:48) [1]


> anod © (12.08.02 13:40)

А необходимые модули подключил:
uses SysUtils,Windows...


 
anod   (2002-08-12 17:02) [2]

Конечно же (оно бы не скомпилировалось), а так все запускается, ошибок нет, только результата тоже нет.


 
anod   (2002-08-12 18:40) [3]

Такое чувствоЮ что процедура не возвращает параметры...


 
DiamondShark   (2002-08-12 20:25) [4]

А код, случаем, не в ДЛЛ ?


 
Anatoly Podgoretsky   (2002-08-12 20:39) [5]

hbmp:=LoadImage(0,PCHAR(ExtractFilePath(ParamStr(0)) + main_p), IMAGE_BITMAP,0,0,LR_LOADFROMFILE);

Это правильно? Дело в том, что у тебя в main_p уже ExtractFilePath и каталоги, ты добавляешь еще раз


 
Жираф большой   (2002-08-12 20:52) [6]

Интересно в этой связи, где должен выполняться VCL startup code.
Может, в этом причина неприятностей?
Ау, Мастаки!


 
anod   (2002-08-13 00:03) [7]

Код не в ДЛЛ, а в обычном модуле.
2Anatoly Podgoretsky
Вы как всегда в точку!

Код я вставляю перед циклом обработки сообщений.
MainWnd:=InitInstance;
if (MainWnd = 0) then MessageBox(0, "Ошибка создания окна", nil, MB_OK)
else
begin
InitCommonControls();
createmenu;
SetWindowLong(MainWnd, GWL_STYLE,GetWindowLong(MainWnd, GWL_STYLE)and not WS_CAPTION);
mainskin.loadSkin("default.ini", MainWnd, main_bmp, b_bmp, bmp, Width, Height);
PListWnd:=InitPlist; if (PListWnd = 0) then begin MessageBox(0, "Ошибка создания окна", nil, MB_OK); exit; end;
ShowWindow(MainWnd, CmdShow);
UpdateWindow(MainWnd);
end;
while GetMessage(Message, 0, 0, 0) do
begin
TranslateMessage(Message);
DispatchMessage(Message);
end;

Тут появилась ещё одна проблемка теперь не отображаетсяь main_bmp (hbmp)
WM_PAINT:begin
//BringWindowToTop
DC:=BeginPaint(MainWnd,ps);
SetBkMode(DC,TRANSPARENT);
SetTextColor(DC,$ffffff);
cDC:=CreateCompatibleDC(DC);
old_bmp:=SelectObject(cDC, main_bmp);
BitBlt(DC,0,0,Width,Height,cDC,0,0, SRCCOPY);
TextOut(DC,260,2,"00:00",5);
SelectObject(cDC, old_bmp);
DeleteDC(cDC);
EndPaint(MainWnd, ps);
end;



 
anod   (2002-08-13 00:07) [8]

Я имел ввиду, что hbmp точно загружается, так как размер устанавливается правилльный, да и картинки button"ов (я их через WM_DRAWITEM перерисовываю) тоже отображается нормально.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
14-71311
Igorek
2002-07-05 10:52
2002.08.22
---|Ветка была без названия|---


1-71132
Lena
2002-08-13 00:28
2002.08.22
Чтение дока


3-71046
RUS1
2002-08-01 14:35
2002.08.22
Подскажите утилитку для администрации IB 6 (типа quickDesk)


14-71380
Alexgorlov
2002-07-27 23:48
2002.08.22
Защита приложения


14-71353
Nostradamus
2002-07-27 03:41
2002.08.22
А я Warcraft 3 прошёл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский