2012-12-05 9 views
2

코드에서 toolstripbutton을 아래로 밀어 내고 싶습니다. 그렇게 할 수없는 것 같습니다. Delphi RAD Studio 또는 XE에서 다음을 수행하고 버튼을 누를 수 있음을 알고 있습니다. 프로그래밍 방식으로 toolstripbutton을 눌러 내리는 방법?

ToolStripButton1.Down := true; 

내가 그 가까이에 "아래로"제공 이 참 또는 거짓을 체크 볼 수있는 유일한 ToolStripButton 속성

. 내가 이것을 true로 설정하면 툴팁 버튼이 강조 표시됩니다. 여기

버튼 내가 그것을 내 마우스를 놓고 클릭 할 때 모습입니다 :

enter image description here

당신은 확대 버튼이 다운 된 것을 분명히 알 수 있습니다.

다음은 CheckOnClick을 true로 설정하고 Checked true로 설정하여 내 코드에서 문제가 발생하는 경우의 모양입니다. 이 이미지에서 enter image description here

, 당신이 볼 수있는 유일한 방법은 주변의 파란색 상자입니다. 단추의 텍스트 만 사용했다면 전체 버튼이 눌린 것을 나타내는 파란색으로 채워진 것을 볼 수 있습니다.

enter image description here

은 또한 같은 방식으로 작동 내 다른 프로그램에서 ToolStrip에 버튼이 있지만 누르거나, 또는 누르지 구절을 확인 또는 아래 또는 확인 사이를 전환 할 수 ImageList 컨트롤을 사용했다.

그래서 Delphi Prism 또는 C#에서 프로그래밍 방식으로 ToolStripButton을 누르는 방법이 있습니까?

+0

이 [post] (http://stackoverflow.com/questions/84842/how-do-i)를 참조 할 수 있습니다. -programmatically-wire-up-toolstripbutton-events-in-c) – bonCodigo

+0

@bonCodigo, 나는 이미 그 글을 읽었고 내 질문에 답하지 않습니다. 사용자가 클릭 한 것처럼 내 코드를 통해 버튼을 "아래로"이동하거나 "누른 상태"로 만들 수 있기를 원합니다. – ThN

+0

@KenWhite :-) LOL 네, 그렇게 말할 수 있겠습니까? 필자는 최신 PCLinux OS (LINUX) 및 Windows 7이 Windows 8이 아닌 이중 부팅을하고 있습니다. Delphi 2010 RAD Studio 및 Delphi Prism (Visual Studio 2010)에서 개발 중입니다. 고맙습니다. 추악한 것은 내가 쫓아 온 것이 아니지만, 켄. 개인적으로 받아들이지 마십시오. :-) – ThN

답변

2

ToolStripButton.CheckOnClick 속성을 True으로 설정하십시오. 이 단지 (평평하거나 우울하게) 델파이 TSpeedButtonDown 속성을 전환처럼 클릭합니다

(. Items Collection EditorBehavior 섹션에서 찾을 것), 그리고 if ToolStripButton1.Checked는 델파이 if SpeedButton1.Down에 해당합니다.

테스트를 설정하려면, 내가 그랬어 다음

  • 새로운 MainForm
  • 추가 된 네 ToolStripButton 항목 위에 ToolStrip을 떨어 뜨 새로운 윈폼 응용 프로그램을 작성하고 그들에게들을 수 있도록 이미지를 준 쉽게 볼 수 있습니다.
  • toolStripButton1True에의 Checked 속성을 설정 그들 각각에 대한 TrueCheckOnClick 속성을 설정;
  • 라이트

    toolStripButton1.Click에있어서 MainForm.toolStripButton1_Click (발신자 아래 코드 :은 System.Object; E : 시스템.EventArgs); begin toolStripButton2.Checked : = not toolStripButton2.Checked; toolStripButton4.Checked : = toolStripButton2.Checked; 끝; 응용 프로그램 실행

(초기 시작을 toolStripButton1 체크하고 선택하지 않은 다른 사람) :

One button down

첫 번째 버튼을 명확하게 아래로, 나머지는 최대입니다. 일단 toolStripButton1을 클릭하면

:

Two buttons down

제 지금 버튼 (체크)와 제 2 및 제 4이다가 다운 (체크). (이후 게시물에서 연속적인 이미지를 만들면 크기 조정의 일관성에 더 많은주의를 기울여야합니다.)

+0

Ken, 불행히도 이것은 나를 위해 작동하지 않았다. 나는 checkonclick을 true로 설정하고 true로 체크했다. 다시 말하지만, 버튼을 누르지 않은 상태에서만 버튼이 강조 표시됩니다. 이상한 것은 그것이 다른 방향으로 작용한다는 것입니다. 버튼이 이미 눌려져 있다면, 그것을 평평하게 만들거나 체크를 false로 설정하여 다시 가져올 수 있습니다. – ThN

+0

다시 확인하십시오. 런타임에 코드가 abovel –

+0

으로 게시 됨으로 제대로 작동합니다. Ken, 내가 수행 한 단계를 수행했는데 작동 방식을 확인했지만 설명에 추가 한 그림과 다릅니다. 텍스트 대신 ToolStripButton 위에 이미지를 사용하고 있기 때문입니까? – ThN