2008-10-01 2 views
2

나는 모든 항목을 표시할지 여부에 따라 런타임에 추가 항목을 추가하는 흐름 패널이 있습니다. 그게 다 잘된거야. 확장은 도구 모음 버튼으로 제어됩니다.섹션을 확장하는 "호버 버튼"을 찾는 방법

사용자가 섹션을 확장하려면 "+"기호 위로 마우스를 움직일 수 있어야합니다.

alt text http://xrw.bc.ca/download/so/q.gif

처음에 내가 TSpeedButton (OnMouseEnter)에서보고 있지만 "플랫"의 경우에도 포커스 사각형은 여전히 ​​표시 등 글리프가 중앙에 있지 않습니다. 이 솔루션의 주된 문제점은 외관입니다.

나는 TImage의 후손을 보았다. 그건 약간 "비 관습적인"것이지만 작동 할 것입니다. OnMouseEnter 또는 OnClick에서 내부 부울 "확장"플래그를 토글 한 다음 리소스에서 적절한 그림을로드합니다. 그런 비 전통적인 솔루션에 대한 싫어함이 있습니다.

몇 가지 다른 화면에 추가해야 할 필요가 있으므로이 구성 요소를 가지고/구성하는 것이 현명합니다. 나는 JVCL을 가지고 있지만, 아무 것도 볼 수 없다.

의견/도움에 감사드립니다.

답변

6

나는 항상 ModelMaker Code Explorer에서 사용하는 접근 방식을 좋아했습니다.

예를 들어, 새로운 방법을 추가 할 때 거의 사용되지 않는 물건이 접혀져 표시됩니다 (아래 그림의 '옵션 및 지시문').

alt text http://17slon.com/krama/expand-mmx-1.png

당신이 텍스트 위에 마우스를 올려

, 당신은 실제로 평평한 버튼의 것을 알 수 있습니다. (그렇지 않은 것을 제외하고 - 나는 Gerrit가 여기에 맞춤화 된 그림 마법을 사용한다고 믿습니다).

alt text http://17slon.com/krama/expand-mmx-2.png

이 버튼을 클릭

는 패널이 나타납니다. 버튼은 여전히 ​​있지만 새로운 이미지가 있습니다. 이것을 클릭하여 패널을 닫을 수 있습니다.

alt text http://17slon.com/krama/expand-mmx-3.png

이 토글 버튼의 ​​상태는 세션간에 보존된다. IOW, Delphi를 다시 시작하더라도 다음에 '메소드 추가'를 호출하면 '옵션 및 지시문'패널이 마지막으로 왼쪽에있는 것처럼 정확하게 나타납니다.

+0

감사합니다. gabr; 나는 내가 그렇게 할 것이라고 생각한다. stackoverflow에 대한 답변 주셔서 감사합니다; 나는 당신의 공헌을 자주 본다! –

0

사실,이 상황에서 TImage를 사용하는 것은 꽤 일반적이라고 생각합니다. 많은 사람들이 TButton이나 그 동료 중 하나가 개발자가 무엇을하려고했는지에 대한 적절한 통제력이 없을 때, TImage 사용을 제안하는 것을 보았습니다.

TBitBtn을 사용해 보셨습니까? 나는 당신이 텍스트를 없앨 때 당신이 그 텍스트와 관련된 어떤 이미지를 중심으로 생각합니다. 방금 Delphi 6을 설치했는데,이 머신에 설치 한 모든 것이 있고, MouseMove 이벤트가있었습니다.

+0

댓글에 대한 답변입니다. TBitBtn을 시도하지 않았습니다. 나는 프로젝트 매니저 및 마케팅 부서와 더 이야기해야한다고 생각합니다. –

1

나는 그런 비 관습 적 솔루션에 대해 싫어하는 점이 있습니다. 당신이 만드는 것 같다 무엇인가 - 지난 몇 년 동안

, 나는 틀에 얽매이지 않는 UI 솔루션 약간의 의심스러운 성장했다. 왜 사용자가 실제로 가지고있는 버튼을 사용하지 않을까요 을 클릭할까요? MS 오피스 나 프로그래밍 유틸리티가 될 때 사용하는 소프트웨어에서 훨씬 더 보편적 인 것으로 보입니다. 또한 버튼을 다소 크게 만들 수 있습니다. 스크린 샷에서 마우스 커서로 타겟팅해야하는 작은 것처럼 보입니다. 오 글쎄, 내가 당신을 괴롭 히고 있다면 어쨌든 물어 보지 않았다는 조언을 해준다. 왜 "+"대신 캡션으로 ">>"줄까? 니모 닉 (mnemonic)이 포함 된 텍스트 캡션을 제공한다면 실제로 키보드로 액세스 할 수 있습니다. 이 모든 것이 UI를보다 직관적으로 만들어야합니다. 그렇 겠지.

나는 당신의 질문에 대답하지 죄송합니다,하지만 난 당신이 사용자가 실제로

행운 :-)이 솔루션을 선호 여부를 생각하고 2 분 소요 바랍니다!

+0

답장을 보내 주셔서 감사합니다. 나는 당신의 관심사를 공유하고 내가 언급 한 디자인을 "나쁜 냄새"라고 생각한다. 그것은 마케팅에 종사하는 사람들입니다! ;-) –

+0

@ Onnodb- 때로는 사용 가능한 화면 공간이 있습니다. 1024x768 pix의 해상도를 가진 사용자도 고려해야합니다. 컨트롤이 많은 대형 응용 프로그램의 경우 하나의 모듈/기능/섹션에 속한 모든 단추를 화면에 두는 것은 어렵습니다. – Ampere

관련 문제