2

即使BorderStyle设置为 0,也可以通过打开ShowInTaskbar属性或直接使用 windows api来强制窗口显示在任务栏上SetWindowLong Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, Win.GWL_EXSTYLE) Or Win.WS_EX_APPWINDOW:但是,此类任务栏条目在其任务栏条目中缺少右键单击菜单。右键单击它们不会显示上下文菜单。有没有办法将标准或自定义处理程序附加到它?

4

1 回答 1

1

如果没有黑客,我想你会被困在这里,我很抱歉。当您设置 VB6 无边框属性时,您固有地禁用了控件菜单。控制菜单(通常通过右键单击窗口标题栏或左键单击左上角的图标激活)是在任务栏中右键单击窗口时显示的内容。

现在,如果您有心情破解,您可能能够以用户不知道差异的方式“模拟”行为。我从usenet 上的这个消息线程中得到了这个想法。

基本上,听起来您可以使用两种形式破解它。一种形式立即最小化,并成为您在任务栏中的“存根”。另一种形式是您当前正在设计的形式(我们将其称为“主”形式)。存根表单是实际加载和显示主表单的内容。

存根表单不是无边界的,并且不能停用控制菜单。它位于屏幕外并以尽可能小的尺寸放置。您将响应其表单级事件,然后使用这些事件将适当的行为传达给无边界表单。

这是黑客的一般要点。如果我现在不在工作,我会创建一个简单的 VB6 项目,看看能否让它为您工作。

于 2008-10-01T14:24:32.357 回答