我在dialogs中将inputbox函数屏蔽 运行也会出先对话框 请问inputbox这个函数到底在那个单元中
谢谢了

解决方案 »

  1.   

    inputbox就是一个窗口,你自己做个窗口调用不就行了,想做啥样就做啥样的
      

  2.   

    uses Consts ..... 
    ...
    const
      MyOK: PChar = 'MYOK';
      MyCancel: PChar = 'MYCANCEL';implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      inputbox('', '', '');
    end;procedure OverideResource(rs: PResStringRec; MyStr: PChar);
    var
      OldWord: DWORD;
    begin
      VirtualProtect(rs, SizeOf(rs^), PAGE_EXECUTE_READWRITE, @OldWord);
      rs^.Identifier := Integer(MyStr);
      VirtualProtect(rs, SizeOf(rs^), OldWord, @OldWord);
    end;initialization
      OverideResource(@SMsgDlgOK, MyOK);
      OverideResource(@SMsgDlgCancel, MyCancel);
    end.类似的, Consts里的其他常量也可以这样修改
    good luck
      

  3.   

    Stack(风雨夜出诊的心理医生) 你的方法有点麻烦
    直接改pas我看可以 但找不到改那个PAS呀 痛苦
      

  4.   

    SMsgDlgOK = '确定';
      SMsgDlgCancel = '取消';
    Consts.pas 的第159,160行
      

  5.   

    我的159,160是这两行话
      SDateEncodeError = 'Invalid argument to date encode';
      SDefaultFilter = 'All files (*.*)|*.*';
    单我改了
      SMsgDlgOK = '确定';
      SMsgDlgCancel = '取消';
    可还是E文
      

  6.   

    不要直接修改VCL中的代码,修改后要重新编译改了的单元文件,不如自己看了相关代码后学着做一个!