Главная страница
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.012 c
14-35012
vidiv
2003-05-27 01:20
2003.06.12
Кто придумал smtp? и как настроить MDaemon, чтобы ...(не влезает)


1-34822
Mishenka
2003-06-01 23:00
2003.06.12
Как в OpenDialog запретить смену каталога?


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


1-34819
Pasha219
2003-05-30 13:09
2003.06.12
Батниковая переменная SET в Делфи


14-35065
copyr25
2003-05-22 19:40
2003.06.12
---|Ветка была без названия|---