如题。
重新发布问题进行请教,如果有朋友在别的板块看过请再发个贴指点下
打算从TMemo继承。界面要和DOS或者cmd一致,效果也要一致(比如:按上箭头键不能到上一行,按右箭头键不能向右除非右边有字符等等)。
需要解决的问题:界面效果,输入限制
还有,需要处理什么消息?

解决方案 »

  1.   

    界面要和DOS或者cmd一致背景搞成黑的。。效果也要一致(比如:按上箭头键不能到上一行,按右箭头键不能向右除非右边有字符等等)。
    需要解决的问题:界面效果,输入限制在ONKEYPRESS 或者 ONKEYDOWN中做。
      

  2.   

    用Additional页的ApplicationEvents控件procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
      var Handled: Boolean);
    begin
      with Memo1 do
       begin
         if (Msg.hwnd = Handle) and
            ((Msg.message = WM_LBUTTONDOWN) or  //屏蔽鼠标左右键
            (Msg.message = WM_RBUTTONDOWN) or
            (Msg.message = WM_KEYDOWN) and  //屏蔽键盘上下键
            (Msg.wParam = VK_UP) or
            (Msg.wParam = VK_DOWN))
         then Handled := True;
         if (Msg.message = WM_KEYDOWN) and ((Msg.wParam=VK_BACK) or (Msg.wParam=VK_LEFT)) then
         if CaretPos.X = 0 then Handled := True else Handled := False; //退格或左键不能返回上一行
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Memo1.Color := clBlack;
      Memo1.Font.Color := clWhite;
    end;