TFontDialog如何沒有color的屬性設定 |
尚未結案
|
markov
中階會員 發表:55 回覆:135 積分:53 註冊:2003-12-01 發送簡訊給我 |
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 我想要擁有TFontDialog的style,size,fontname等屬性設定的功能,但是我不要color的屬性設定(因為要輸出的設備只有單色),有沒有方法可以disable這個選項,或者用其他什麼方法我可以自已完成TFontDialog without colormarkov你好: 真對你的問題我覺得有三個作法: <> > 這裏我用第 >! < class="code"> In Unit.cpp ~~~ TForm1 *Form1; BOOL CALLBACK EnumChindWnd(HWND hwnd,LPARAM lparam); //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { HWND hwnd=NULL; while (hwnd==NULL) hwnd=FontDialog1->Handle; EnumChildWindows(hwnd,(WNDENUMPROC)EnumChindWnd,0); Timer1->Enabled=false; } //--------------------------------------------------------------------------- BOOL CALLBACK EnumChindWnd(HWND hwnd,LPARAM lparam) { char ClassName[128]; char TextName[128]; ZeroMemory(ClassName,128); ZeroMemory(TextName,128); GetClassName(hwnd,ClassName,128); GetWindowText(hwnd,TextName,128); if (AnsiString(TextName)=="色彩(&C):") ShowWindow(hwnd,SW_HIDE); if (AnsiString(ClassName)=="ComboBox") { char ItemText[128]; ZeroMemory(ItemText,128); SendMessage(hwnd,CB_GETLBTEXT,0,(LPARAM)ItemText); if (AnsiString(ItemText)=="黑色") ShowWindow(hwnd,SW_HIDE); } return true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1->Enabled=true; FontDialog1->Execute(); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { Timer1->Enabled=false; Timer1->Interval=10; } //--------------------------------------------------------------------------- 使用結果如下: color相關的東東已經被hide掉了,如果不想hide的話,只要show的時候把Timer關掉即可!That's all! 發表人 - |
markov
中階會員 發表:55 回覆:135 積分:53 註冊:2003-12-01 發送簡訊給我 |
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
|
markov
中階會員 發表:55 回覆:135 積分:53 註冊:2003-12-01 發送簡訊給我 |
|
markov
中階會員 發表:55 回覆:135 積分:53 註冊:2003-12-01 發送簡訊給我 |
|
tqpzxy
一般會員 發表:13 回覆:22 積分:7 註冊:2003-11-13 發送簡訊給我 |
引言: 我想要擁有TFontDialog的style,size,fontname等屬性設定的功能,但是我不要color的屬性設定(因為要輸出的設備只有單色),有沒有方法可以disable這個選項,或者用其他什麼方法我可以自已完成TFontDialog without color CHOOSEFONT cf; ZeroMemory(&cf, sizeof(CHOOSEFONT)); cf.lStructSize = sizeof(CHOOSEFONT); cf.Flags = CF_INITTOLOGFONTSTRUCT | CF_SCREENFONTS; // 更多選項請見說明檔 if (ChooseFont(&cf)) { [由 cf 讀取使用者的決定] } |
tqpzxy
一般會員 發表:13 回覆:22 積分:7 註冊:2003-11-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |