PDA

View Full Version : فوکوس روی متن در RichEdit با راست کلیک



جواد ملاولی
پنج شنبه 12 دی 1387, 09:32 صبح
سلام. چطور میتونیم در شی ء RichEdit با کلیک راست موس روی متن فوکوس کنیم(مثل کلیک چپ که خودش فوکوس می کنه)؟

vcldeveloper
چهارشنبه 18 دی 1387, 02:04 صبح
procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
begin
if Button = mbRight then
(Sender as TWinControl).SetFocus;
end;

جواد ملاولی
جمعه 20 دی 1387, 22:56 عصر
سلام. با تشکر از علی آقا، منظور من اینه که نشانگر متن در محل ماوس باشه؛ مثل کلیک چپ.

vcldeveloper
چهارشنبه 25 دی 1387, 23:35 عصر
منظور من اینه که نشانگر متن در محل ماوس باشه؛ مثل کلیک چپ.
با استفاده از تابع SetCaretPos ویندوز، یا متد CaretPos خود RichEdit.

جواد ملاولی
یک شنبه 06 بهمن 1387, 17:34 عصر
با استفاده از تابع SetCaretPos ویندوز، یا متد CaretPos خود RichEdit.
تابع SetCaretPos محل اشاره گر رو عوض می کنه ولی SelStart تغییر نمی کنه. لطفاً بیشتر توضیح بدین.

vcldeveloper
یک شنبه 06 بهمن 1387, 18:50 عصر
خب SelStart رو خودتون در کد تغییر بدید. قرار نیست SetCaretPos مقدار SelStart را تغییر بده.

جواد ملاولی
یک شنبه 06 بهمن 1387, 22:02 عصر
کدی رو که می خواستم پیدا کردم:

procedure TMainForm.TextMemoMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
else if Button = mbRight then
begin
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
end;
end;