Q&A

  • 다른폼의 스피드버튼 눌러주는 방법좀 가르처 주세요.
안녕하십니까? 전봉수 입니다

스크린그리드에 버튼을 생성하고 각 버튼에 이벤트가 발생 하도록
하였고 프로그램 내에 다른 폼을 불러서 각 에디터에 값까지 넣었는데
값을 넣기전에 불러드린 폼의 스피드버튼을 눌러주고 값이 넣어저야
하는데 스피드버튼이 작동아 안됩니다.
스피드버튼을 누르는 방법좀 부탁드립니다.

// 스트링그리드1 버튼생성
procedure TMupmuForm.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  arect : TRect;
begin
  //버튼을 그립니다...
  with TStringGrid(Sender).Canvas do
    begin
      if ARow > 0 then
        begin
          if ACol = 5 then
            begin
              DrawFrameControl(Handle, Rect, DFC_BUTTON, DFCS_BUTTONPUSH);
            end;
        End;
    End;
end;

// 스트링그리드1 버튼 이벤트
procedure TMupmuForm.StringGrid1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  acol, arow : Integer;
begin
  StringGrid1.MouseToCell(X, Y, acol, arow);
  if (arow = 1) And (acol = 5) then
    begin
      // 출고의 품 부르기
      FmsThForm.ChulgodnClick(Sender);
      // 출고의 추가 스피드버튼 누르기(작동안함)  // 요부분
      CHULFORM.spAPPENDclick(self);
      // 각 에디트에 값 넣기  
      CHULFORM.Ed_CHdate.Text := ED_Mdate.Text;           // 일자
      CHULFORM.Ed_Item.Text   := STRINGGRID1.CELLS[0,1];  // 코드1
      CHULFORM.Ed_Qty.Text    := STRINGGRID1.CELLS[3,1];  // 수량1
      CHULFORM.Ed_Chnayk.Text := STRINGGRID1.CELLS[4,1];  // 사용내역1
      //ShowMessage('1번 버튼이 눌러졌네요');
    end
  Else
  if (arow = 2) And (acol = 5) then
    Begin
      ShowMessage('2번 버튼이 눌러졌네요');
    End
  Else
  if (arow = 3) And (acol = 5) then
    Begin
      ShowMessage('3번 버튼이 눌러졌네요');
    End
  Else
  if (arow = 4) And (acol = 5) then
    Begin
      ShowMessage('4번 버튼이 눌러졌네요');
    End
  Else
  if (arow = 5) And (acol = 5) then
    Begin
      ShowMessage('5번 버튼이 눌러졌네요');
    End;
end;

2  COMMENTS