Форум: "WinAPI";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];
ВнизНе могу обработать нажатие по битмапине Найти похожие ветки
← →
Василий Петрович (2003-04-12 22:48) [0]Я создаю битпам на форме:
bigbit:=CreateWindow("static",nil,SS_BITMAP or WS_CHILD or WS_VISIBLE,0,0,240,230,win,101,50,nil);
SendMessage(bigbit,STM_SETIMAGE,IMAGE_BITMAP,LoadBitmap(GetModuleHandle(nil),MAKEINTRESOURCE(101)));
Создается.
Потом пишу:
50: DestroyWindow(win);
И ничего!
Если таким же макаром создавить кнопку, то все получается.... а мне надо именно битмап!
Неужели нельзя так сделать?!
← →
DVM (2003-04-12 22:58) [1]
> Потом пишу:
> 50: DestroyWindow(win);
Ну удаление окна на котором битмап
> И ничего!
> Если таким же макаром создавить кнопку, то все получается....
> а мне надо именно битмап!
> Неужели нельзя так сделать?!
Что собственно надо сделать? я ничего не понял.
← →
DVM (2003-04-12 23:17) [2]WM_L(R)BTNDOWN + получение координат мыши из LParam сообщения и сравнение их с координатами битмапа.
← →
Songoku (2003-04-13 00:26) [3]Ты хочешь создать что-то типо SpeedButton1 с ипользованием FLAT??? еслт да то я попробую это сдлать кагда сделаю отпрвлю!!!
← →
Songoku (2003-04-13 12:46) [4]Вот что у меня получилось!!!
var
dButton: Pointer;
functionDefault_Button(hWnd,Msg,wParam,lParam:Longint):Longint;
stdcall;
varR:TRect;
begin
Result:=CallWindowProc(dButton,hWnd,Msg,wParam,lParam);
caseMsg
ofWM_PAINT: begin
case
GetClientRect(hWnd,R);
FillRect(GetDC(hWnd), R, CreateSolidBrush(GetSysColor(COLOR_BTNFACE)));
DrawEdge(GetDC(hWnd), R,BDR_RAISEDINNER , BF_RECT);wParam
of
1: DrawEdge(GetDC(hWnd), R,BDR_RAISEDINNER , BF_RECT);
end;
2: DrawEdge(GetDC(hWnd), R,BDR_SUNKENINNER , BF_RECT);
end;
WM_LBUTTONDOWN: SendMessage(hWnd,WM_PAINT,2,0);
end;
WM_LBUTTONUP: SendMessage(hWnd,WM_PAINT,1,0);
end;
.....
CreateWindow("Button",
nil,WS_CHILD
orWS_VISIBLE,20,27,40,58,hwnd,91,0,nil);
.....
dButton:=Pointer(GetWindowLong(GetDlgItem(hwnd,91),GWL_WNDPROC));
SetWindowLong(GetDlgItem(hwnd,91),GWL_WNDPROC,Longint(@Default_Button));
← →
Василий Петрович (2003-04-13 21:15) [5]Ты прав! Именно этого я добиваюсь!
Щас попробую что ты написал, заранее спасибы
← →
х (2003-04-14 15:57) [6]2 Songoku © (13.04.03 12:46)
все хорошо, тока GetDC(hWnd) вызываем только 1 раз, а потом незабываем про ReleaseDC
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c