합니다. :-)
버튼을 클릭하는 방법에 대해 질문하지만 코드는 탭 보내기 (VK_TAB)를 나타냅니다. 나는 당신이 실제로하고 싶은 것이 확실하지 않으므로 두 가지 모두를 다루려고 노력할 것입니다.
나는 TcxDBButtonEdit에 대해 아무것도 (또는 다른 DevExpress의 컨트롤 중 하나를) 잘 모르겠지만, 이런 일이 (탭 키) 당신을 위해 일해야합니다
if (ActiveControl is TcxDBButtonEdit) then
begin
// We know it's a TcxDBButtonEdit, so we can directly cast it
if (TcxDBButtonEdit(ActiveControl).Properties.Buttons.Count > 0) and
(TcxDBButtonEdit(ActiveControl.Properties.Buttons.Items[0].Enabled) then
begin
Key := #0;
Self.SelectNext(ActiveControl, True, True); // See notes below
end;
end;
당신이 원하는 경우 실제로 당신이 버튼의 클릭 핸들러를 호출하기 위해이 작업을 수행 할 수 있다고 말한다 편집 컨트롤, DevExpress support has an article에 부착 된 버튼을 클릭합니다 (위 SelectNext
에 대한 호출을 대체) :
이
if (ActiveControl is TcxDBButtonEdit) then
begin
// We know it's a TcxDBButtonEdit, so we can directly cast it
if (TcxDBButtonEdit(ActiveControl).Properties.Buttons.Count > 0) and
(TcxDBButtonEdit(ActiveControl.Properties.Buttons.Items[0].Enabled) then
begin
Key := #0;
TcxCustomEditAccess(ActiveControl).DoButtonClick(0);
end;
end;
(I 명확 위를 컴파일 할 수 없습니다 코드를 가지고 있지 않기 때문에 DevEx 컨트롤; DoButtonClick
이라는 전화 번호는 기사에서 가져온 것입니다. 의 '액세스'부분에서
type
TcxCustomEditAccess = class(TCxCustomEdit);
: 컴파일러가 그것에 대해 불평하는 경우, 당신은 아마 당신의 코드에 다음을 추가해야합니다 (바로 그것을 사용하는 코드를 포함하는 방법 위에 아마 최고의 장소입니다) 이름을 보면 DoButtonClick
은 TcxCustomEdit
의 보호 된 메소드 일 수 있습니다. 인터 포저 클래스를 선언하면 보호 된 메서드에 액세스 할 수 있습니다) SelectNext에 대한
참고 :. TWinControl.SelectNext 문서
에서
가에서 다음 단계로 현재의 자식 컨트롤에서 입력 포커스 이동을 탭 순서.
자식 컨트롤 포커스를 이동하려면 다음을 선택하십시오. SelectNext는 Tab 순서에서 CurControl 다음에 오거나 앞에오고 다른 매개 변수에 지정된 조건을 충족하는 첫 번째 자식을 선택합니다.
GoForward 매개 변수는 검색 방향을 제어합니다. GoForward가 true이면 FindNextControl은 자식 컨트롤을 탭 순서로 앞으로 검색합니다. GoForward가 false이면 SelectNext는 컨트롤을 역방향으로 검색합니다. 검색은 컬렉션 끝을 지나서 다시 CurControl로 래핑합니다.
CheckTabStop 매개 변수는 SelectNext 컨트롤이 탭 중지인지 여부를 제어합니다. CheckTabStop이 true 인 경우 반환 된 컨트롤의 TabStop 속성을 true로 설정해야합니다. 그렇지 않으면 다음 컨트롤 검색이 계속됩니다.
자식 컨트롤이 검색 조건과 일치하면 해당 컨트롤이 포커스를 가져옵니다. 그러한 자식 컨트롤이 발견되지 않으면 포커스는 변경되지 않습니다.
"클릭 한 번으로"*는 다음 컨트롤을 집중시키는 것을 의미하지 않습니다. 하지만 누가 알고 있는지 :-) 게다가, 그 컨트롤 안에있는 버튼 중 일부 DB 항목 편집기를 표시하거나 직접 클릭 이벤트를 위조하지 않고도 호출 할 수있는 다른 행동을 실행합니다. – TLama
@TLama : 원래 질문의 코드는 제목에도 불구하고 의도 한 것으로 추정되는 탭 키 (VK_TAB)를 보내는 것을 보여줍니다. 내가 말했듯이, 나는 그 통제에 익숙하지 않다. 나는 약 10 년 전 (내가했던 직업에 있었을 때)부터 사용하지 않았다. –
@TLama : 편집 된 답변보기. 그리고 그것을 지적 해 주셔서 감사합니다. :-) –