PDA

View Full Version : مشکل با font در TextBox وقتی UserPaint مقدار True داره



Amir Oveisi
پنج شنبه 08 شهریور 1386, 19:01 عصر
من یه TextBox دارم که UserPaint اونو True کردم
حالا چجوری میتونم Font اونو تنظیم کنم؟ چون با روش های معمول نمیشه تغییری ایجاد کرد!
ممنون

Amir Oveisi
جمعه 09 شهریور 1386, 01:34 صبح
خودم به جواب رسیدم
با برسی هایی که انجام دادم به این نتیجه رسیدم که مشکل تو کلاس Font خود NET. هست
وقتی UserPaint مقدار True داره ( رویداد OnPaint قراره که فراخونی بشه ) دیگه پیامی برای set کردن font کنترل برای ویندوز فرستاده نمیشه!!!
واسه همین اومدم و خودم این کارو بصورت دستی انجام دادم و مشکلم حل شد!

اینم کد فرستادن WM_SETFONT = 0x30 :

[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr
wParam, IntPtr lParam);
SendMessage(this.Handle, 0x30, this.Font.ToHfont(), IntPtr.Zero);
از این تابع میتونین تو تابع OnPaint استفاده کنبد تا Font تنظیم بشه!