Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.12;
Скачать: CL | DM;

Вниз

Не могу обработать нажатие по битмапине   Найти похожие ветки 

 
Василий Петрович ©   (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;

function Default_Button(hWnd,Msg,wParam,lParam:Longint):Longint; stdcall;
var
R:TRect;
begin
Result:=CallWindowProc(dButton,hWnd,Msg,wParam,lParam); case Msg of WM_PAINT: begin
GetClientRect(hWnd,R);
FillRect(GetDC(hWnd), R, CreateSolidBrush(GetSysColor(COLOR_BTNFACE)));
DrawEdge(GetDC(hWnd), R,BDR_RAISEDINNER , BF_RECT);
case wParam of
1: DrawEdge(GetDC(hWnd), R,BDR_RAISEDINNER , BF_RECT);
2: DrawEdge(GetDC(hWnd), R,BDR_SUNKENINNER , BF_RECT);
end;
end;

WM_LBUTTONDOWN: SendMessage(hWnd,WM_PAINT,2,0);

WM_LBUTTONUP: SendMessage(hWnd,WM_PAINT,1,0);
end;
end;


.....
CreateWindow("Button", nil ,WS_CHILD or WS_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 вся ветка

Текущий архив: 2003.06.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-34881
Vulko
2003-05-25 13:27
2003.06.12
TColor -> Hex


1-34801
AlexGof
2003-06-02 14:28
2003.06.12
Из Word в HTML


14-35004
Феликс
2003-05-26 17:45
2003.06.12
PHP ? PERL


8-34943
Still Swamp
2002-02-04 15:22
2003.06.12
GLScene - несколько вопросов


8-34940
DeveloperX
2003-02-28 22:58
2003.06.12
Визуализация