パスワードを忘れた? アカウント作成
654771 journal

novaの日記: tab塗り塗り

日記 by nova

 二年半以上前に組んだプログラムの追加仕様がやって来た。新しい形式のファイルに対応させるらしい。新しいパーサを作ると時間がかかるので古い形式へのコンバータを作りました。こうすればコアロジックをそのまま使えるし。4h くらいで終了。

bcb6 で TPageControl の tab に色を付ける方法

 先輩に「タブに色塗りたいんだけど如何やるの?」と聞かれたので調べてみた。DrawTab イベントがあるので如何考えてもココに書くハズ。TStringGrid の時の式を真似て書いてみた。…… tagRECT 型ってナニ?良く分からないが RECT 型には違いなかろう。強引にキャストして実行……あっ、何か成功したみたい。ちゃんと色変わってるし。

void __fastcall TForm1::PageControl1DrawTab(TCustomTabControl *Control,
    int TabIndex, const TRect &Rect, bool Active)
{
 //TabSheet1 (一番最初の tab) の tab を黒に塗りつぶして、白で Caption の文字列を書き込みます。
 if(TabIndex == 0){
  PageControl1->Canvas->Brush->Color = StringToColor(RGB(000,000,000));
  PageControl1->Canvas->Font->Color = StringToColor(RGB(255,255,255));
  PageControl1->Canvas->FillRect(Rect);
  DrawText(Control->Canvas->Handle, TabSheet1->Caption.c_str(), -1,
         (tagRECT *)&Rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
 }
}
//---------------------------------------------------------------------------

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...