ボタンの形を変えるには?

解決


やっさん  2005-05-28 22:28:01  No: 15181

ボタンの形を三角に変えたいのですが,どうしたらよいのでしょうか?
私はdelphi6を使用しているのですが,何とか三角のボタンが作りたいので,
ご存知の方いらっしゃいましたら教えてください.
どうかよろしくお願いします.


kkk  2005-05-29 01:11:35  No: 15182

http://jansfreeware.com/jfdelphi.htm
TButtonから派生している正当?な Regionボタンです。
でもフォーカスがある時の破線がちょっと・・・
参考になるでしょうか。
三角形以外も入っています。


kkk  2005-05-29 01:13:57  No: 15183

特にフォーカスが必要ないのであれば Regionを使用したコンポーネントが色々あるので探してみてください。


kkk  2005-05-29 01:16:11  No: 15184

連投すいません。
上記リンク内のコンポーネントは janButton です。


やっさん  2005-05-30 06:05:40  No: 15185

kkkさんへ
返答ありがとうございます!!
確かにjanButtonだといろいろなボタンを使えますね.
ですが,あのフォーカスがあるときの破線は確かにちょっと・・・。
あの破線を表示させない方法はないのでしょうか?


改造Ⅹ  2005-05-30 08:12:14  No: 15186

>ですが,あのフォーカスがあるときの破線は確かにちょっと・・・。

// janTriDownButtonのFocus破線の改造例

procedure TjanTriDownButton.CNDrawItem(var Msg: TWMDrawItem);
var
  .....
  poly: array[0..3] of Tpoint;
  polF: array[0..3] of Tpoint;  // 追加

  procedure SetPoly;
  begin
    .....
    // 以下の4行を追加
    polF[0]:=Point(Rect.left+5,  Rect.top+2); 
    polF[1]:=Point(Rect.right-8, Rect.top+2);
    polF[2]:=Point(Rect.left+x2, Rect.bottom-6);
    polF[3]:=polF[0];
  end;
begin
  .....
  .....
    if IsFocused or OdsFocus or ActionFocus then
    //DrawFocusRect (Rect);  // これを削除
    // 以下の7行を追加
    begin
      Brush.Color := clBtnFace;
      Pen.Color := clBlack;
      Pen.Width := 1;
      Pen.Style := psDot;
      PolyLine(PolF);
    end;
  .....


やっさん  2005-05-30 22:38:48  No: 15187

改造Xさんへ
ありがとうございます!!
おかげで破線を消すことができました.
これで上司に叱られないですみます.
本当にありがとうございました.


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加