Главная страница
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.015 c
1-34849
KpeHgeJIb
2003-05-30 16:48
2003.06.12
Работа с риестром


14-35067
Дмитрий К.К.
2003-05-28 07:22
2003.06.12
Именинники 28 мая


11-34766
Vit@l
2002-09-21 12:42
2003.06.12
MakeObjectInstance и FreeObjectInstance


3-34676
Al11
2003-05-22 13:53
2003.06.12
Подскажите, как можно отсортировать записи только по дню и месяцу


1-34887
NeshBriges
2003-05-31 22:29
2003.06.12
Проблема с RichEdit