ورود

View Full Version : سوال: SENDMESSAGE و پارامترهای BN_CLICKED



firststep
چهارشنبه 05 مرداد 1390, 18:01 عصر
با عرض سلام و خسته نباشید:لبخندساده:
ببخشید من می خواستم بدونم که ایا ما تابعی به نام های HIWORD() و LOWORD() داریم؟

من خودم با نگاهی که به کتابخانه دلفی کردم متوجه شدم که این دو شناسه تعریف شدند اما...
راستشو بخواین من تویه MSDN در بخش SendMessage و پارامترهای BN_CLICKED
به این دو تابع برخورد کردم
:متفکر:می خاستم بدونم ایا در مورد BN_CLICKED و نحوه استفادش کسی چیزی میدونه تا به من کمک کنه.

لینک MSDN (http://msdn.microsoft.com/en-us/library/bb761825%28v=vs.85%29.aspx)

پیشاپیش از کمکاتون ممنونم......:لبخندساده:

vcldeveloper
چهارشنبه 05 مرداد 1390, 18:54 عصر
TForm1 = class(TForm)
...
private
procedure WmCommand(var Msg : TMsg); message WM_COMMAND;
public

end;

....


procedure TForm1.WmCommand(var Msg: TMsg);
var
ControlHandle := THandle;
begin
if HiWord(Msg.wParam) = BN_CLICKED then
begin
ControlHandle := Msg.lParam;
/// Do your processing here.
end;
end;

firststep
چهارشنبه 05 مرداد 1390, 19:13 عصر
با تشکر
اقای کشاورز امکانش هست یکم بیشتر توضیح نمیدین؟؟؟؟؟؟؟

firststep
چهارشنبه 05 مرداد 1390, 22:50 عصر
با تشکر فراوان از شما اقای کشاورز

خوب عمده سواله من راجبه SendMessage بود البته با خوندن MSDN یه جورایی رابطه خیلی نزدیکش رو با WM_COMMAND حس کرد اما متوجه و معنیشو نفهمیدم..........

vcldeveloper
پنج شنبه 06 مرداد 1390, 10:01 صبح
خوب عمده سواله من راجبه SendMessage بود

procedure SendBnClickedMsg(ParentHandle, ControlHandle: THandle; ControlID: Word = 1);
var
LPrm : LPARAM;
WPrm : WPARAM;
begin
Wprm := MakeWParam(ControlID, BN_CLICKED);
LPrm := ControlHandle;
SendMessage(ParentHandle, WM_COMMAND, WPrm, LPrm);
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
SendBnClickedMsg(Self.Handle, Button1.Handle);
end;