vb 的enablewindow 问题

wanfu 百科 69 0

vb 的enablewindow 问题

在***.net里面使用enablewindow不行,请问用什么类可以代替enablewindow这个API函数???

***.net 也可以用的。只是把所有的 long 改成 integer 就可以了。 我就可以用。

Public Declare Function EnableWindow Lib "user32" (ByVal hwnd As Integer, ByVal fEnable As Integer) As Integer

vc6.0中~~怎样用enablewindow让一个按钮变无效(按不下去)?

我调用的是mfc的enablewindow。 首先用GetDlgItem获得指针,然后再GetDlgItem(IDC_BUTTON9)->EnableWindow(FALSE); 完成这个效果但是如何用API的EnableWindow完成这个效果啊。我用EnableWindow(GetSafeHwnd(IDC_BUTTON9),FALSE);编译器报错,说参数不对究竟API的EnableWindow要如何完成呢?控件ID是IDC_BUTTON9

*** :
::EnableWindow(GetDlgItem(IDC_EDIT1)->GetSafeHwnd(), FALSE);
分析
调用API如果MFC中有同名函数 要加 :: 来进行区分 ,代表 调用全局API
API函数BOOL EnableWindow( HWND hWnd, // handle to window BOOL bEnable // enable or disable input);
之一个参数是 控件句柄
要得到控件句柄 需要用CWnd类的GetSafeHwnd() *** ,但先要用GetDlgItem获得指针
(或者用全局APIGetDlgItem)

*** 二用全局API函数GetDlgItem来得到控件的句柄
::EnableWindow(::GetDlgItem(m_hWnd,IDC_EDIT1), FALSE);
全局函数GetDlgItem的之一个参数是控件所在的窗口句柄 ,二 对话框类 从窗口类继承过来的
成员变量m_hWnd就是窗口句柄

下面分享相关内容的知识扩展:

w10启动了bitlocker还是不显示呢?

1、按下win+i组合键打开windows 设置,在所有设置界面移到更底部点击【更新与安全】。

2、然后依次点击:恢复-高级启动-立即重新启动。

3、重启计算机后依次点击:疑难解答-高级选项-UEFI固件设置,查看选项Security,右侧Enable TPM,此选项是否打开。

以上就是win10无法使用bitlocker解决 ***

控件的可用或不可用,怎么获取Enabled状

1)使某个控件或窗口可用/不可用
GetDlgItem(IDC_XX)->EnableWindow(false);//变灰,不可用,可见
GetDlgItem(IDC_XX)->EnableWindow(true);//还原正常,可用,可见

2)使某个控件或窗口可见/不可见

GetDlgItem(IDC_XX)->ShowWindow(SW_HIDE);//隐藏控件,不可见
GetDlgItem(IDC_XX)->ShowWindow(SW_SHOW);//显示控件,可见

VS2010 如何在程序中更改Button控件的Disable属性值 C++

VC++中,按钮属于CButton类,它继承自CWnd这个窗口基类。
Button控件的Disable属性是指使按钮变成灰色,即失效。由于按钮属于一种窗口,也就是窗口失效。在CWnd中有如下成员函数:
BOOL EnableWindow(
BOOL bEnable = TRUE
);
微软帮助文档给出的说明主要意思为:如果参数为TRUE(默认),则窗口有效,为FALSE窗口失效。该函数调用会返回之前窗口的状态。
对于指定的按钮控件 ,可以自己指定它的 ID 或 用系统的 默认ID . 这时使用 CWnd::GetDlgItem根据这个ID可以获取按钮(实际是CWnd*)的指针。此时直接使用该指针调用CWnd的EnableWindow函数参数为FALSE,如下:
GetDlgItem(按钮ID) -> EnableWindow( FALSE );
//在按钮对应对话框的窗口类中这
//样用,不是对应的窗口类,要先获取按钮所属的窗口
注意按钮CButton类的SetState并不能使按钮失效,而是模拟鼠标单击消息,该函数调用结束会恢复原始状态,即瞬间状态,之后会恢复原来状态。如:
reinterpret_cast
( 按钮ID ) ->SetState( 1 );
//只是暂时设置为按下(不是失效),此时会发送WM_LBUTTONDOWN消息,该函数调用结 //束就会像松开鼠标的按钮一样
GetDlgItem有多个重载版本,注意调用方式。
如Win32版本的:
HWND hButton;
::GetDlgItem( hButton , 按钮ID );//获取按钮句柄
::EnableWindow( hButton , FALSE );//设置按钮为无效

抱歉,评论功能暂时关闭!