• 窗口过程处理WndProc遇到的问题



    现在遇到了一个不大不小的技术问题,想请各位大牛超牛们帮帮忙了,嘿嘿。。。

    先看一下窗体的设置吧:

    问题是这样的:当ScenePanel对象(类似窗体的一个容器)全屏后,按键盘上的ESC键,不能退出全屏状态了。

    其中自定义的类文件如下:

    ExternAPI
    1 public class ExternAPI
    2 {
    3 [DllImport("...", EntryPoint = "...")]//这里就省却了Dll的名字和方法入口了
    4 public static void WndProc(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam);
    5 }


     

    其中:MainFrom类中在重写基类的WndProc时调用了ExternAPI的WndProc窗口处理过程,

    ScenePanel类中构造函数是无参的,也重写了基类的WndProc,也调用了ExternAPI的WndProc窗口处理过程。

     

    WndProc
    1         protected override void WndProc(ref Message m)
    2 {
    3 base(ref m);
    4 ExternAPI.WndProc(m.HWnd,m.Msg,m.WParam,m.LParam);
    5 }

     

     

    现在在处于全屏的状态下按ESC键后,消息跑到了ScenePanel容器中,想在ScenePanel中对MainFrom对象进行设置。

    注:我试过把ScenePanel的构造函数改成参数是含有MainFrom 对象的,在MainFrom主窗体new (实例化)ScenePanel对象时,把this放了进去。在运行的时候,白屏了,没有出现界面。

     

    现在 该怎么做好。愁死哥了,呵呵。。。希望大家帮忙解决啊。

  • 相关阅读:
    【bzoj1036】【ZJOI2008】树的统计
    AE基础(8)PageLayout属性设置和添加元素
    AE基础(7)布局控件与地图控件关联
    UtilityAction扩展
    UtilityAction
    AE基础(6)数据查询与选择
    NavigationAction
    LayerAction
    AE基础(5)鹰眼功能
    AE基础(4)画几何图形
  • 原文地址:https://www.cnblogs.com/yzhddeyan/p/2277210.html
Copyright © 2020-2023  润新知