چه کدی هست که قسمتس که با موس انتخاب شده رو فونتش و رنگش و بولد و ایتالیک بودنش رو تغییز بده؟؟
Printable View
چه کدی هست که قسمتس که با موس انتخاب شده رو فونتش و رنگش و بولد و ایتالیک بودنش رو تغییز بده؟؟
ببين در كل براي اينكه بتوان فونت يك شئي را در سيستم عامل ويندوز تغيير داد بايد از پيغام WM_SETFONT استفاده كرد و براي اينكه نتيجه اين عمل معلوم شود مي توان بلافاصله يك پيغام WM_PAINT نيز براي همان شئي فرستاد.نقل قول:
به صورت زير :
كه در صورتي كه مثال بالا براي يك تايمر ست شود فونت هر شئي كه زير آن قرار گرفته باشد در زمان مقرر را تغيير مي دهد.کد:procedure TForm1.Timer1Timer(Sender: TObject);
Procedure SetWindowAtPointFont(H:THandle;Font:TFont);
begin
SendMessage(H,WM_SETFONT,Font.Handle,0);
SendMessage(H,WM_PAINT,GetWindowDC(H),0);
end;
Var
F:TFont;
begin
F:=TFont.Create;
F.Name:='Tahoma';
F.Size:=8;
F.Style:=[fsBold];
SetWindowAtPointFont(WindowFromPoint(Mouse.CursorPos),F);
F.Free;
end;
فقط يادت باشه بعد از اينكه فونت را Free مي كني اگر كنترل مجدد رسم بشه فونتش عوض مي شه.اما قبل از اينكه Handle فونت آزاد نشده درست كار خواهد كرد.
موفق باشيد.
ارش جان دقیق تر بگو؛ شما می خوای قلم بخشی از متن که انتخاب شده است را تغییر بدی؟