C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
188 个问题
您好,如何将此c#代码转换为C++ / CLI代码以使我的无边框表单SizeAble?
this - > SetStyle(ControlStyles::ResizeDraw, true);
private
const int cGrip = 16;
private
const int cCaption = 32;
protected override void WndProc(ref Message m)
{
if(m.Msg == 0x84)
{
Point pos = new Point(m.LParam.ToInt32());
pos = this.PointToClient(pos);
if(pos.Y < cCaption)
{
m.Result = (IntPtr) 2;
return;
}
if(pos.X\ >= this.ClientSize.Width - cGrip && pos.Y\ >= this.ClientSize.Heigh - cGrip)
{
m.Result = (IntPtr) 17;
return;
}
}
base.WndProc(ref m);
}
Note:此问题总结整理于: C++/CLI Make Borderless Form Sizeable
尝试将以下代码添加到表单类中:
#include <Windows.h>
. . .
private:
const int cGrip = 16;
const int cCaption = 32;
protected:
void WndProc( Message% m ) override
{
switch( m.Msg )
{
case WM_NCHITTEST:
Point pos = Point( m.LParam.ToInt32( ) );
pos = PointToClient( pos );
if( pos.Y < cCaption )
{
m.Result = IntPtr( HTCAPTION );
return;
}
if( pos.X >= ClientSize.Width - cGrip && pos.Y >= ClientSize.Height - cGrip )
{
m.Result = IntPtr( HTBOTTOMRIGHT );
return;
}
break;
}
__super::WndProc( m );
}
如果答案有帮助,请点击“接受答案”并点赞。 注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。