关于“镜子”的使用!在windows中好像有一个镜子技术,我只了解大概,也就是它可以使整个窗口变成反的,比如一般
关于“镜子”的使用!
在windows中好像有一个镜子技术,我只了解大概,也就是它可以使整个窗口变成反的,比如一般“最大化”,“最小化”等按钮都是在窗口右边,但使用这个技术后,就可以使它们在左边了!
现在我需要使用这个技术,请大侠们指点迷津!
我要达到的目的,
正常情况下,如果我在窗口背景放一张大图片,窗口缩小和扩大,左上角的图片部分不会改变,改变是从右下角开始的,比如,若扩大窗口,从右下角开始,图片被挡住的部分显示出来!我现在想使图片被挡住的部分也可以从左上角、左下角、右上角出现!
请大侠们指点!在此先谢过!
[解决办法]
budong不懂镜子
[解决办法]
问一下 chenjl103
也许他知道,我曾经看到过他发的一张象楼主说的那样的截图。
[解决办法]
额。。。看过了所有CS_、WS_、WS_EX_,貌似只有WS_EX_RIGHT能使到标题右对齐的。。。。
- VB code
Option ExplicitPrivate Const GWL_EXSTYLE As Long = -20Private Const WS_EX_RIGHT As Long = &H1000&Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Sub Form_Load()Dim WL As LongWL = GetWindowLong(hWnd, GWL_EXSTYLE)WL = WL Or WS_EX_RIGHTSetWindowLong hWnd, GWL_EXSTYLE, WLEnd Sub
[解决办法]
楼上多年不见......
[解决办法]
背景图可以自己控制对齐
- VB code
Option ExplicitPrivate Enum AlignCorner LeftTop RightTop RightBottom LeftBottomEnd EnumPrivate m_pic As IPictureDispPrivate m_Width As LongPrivate m_Height As LongPrivate m_Corner As AlignCornerPrivate Sub DrawPicture() Me.Cls Select Case m_Corner Case AlignCorner.LeftTop Me.PaintPicture m_pic, 0, 0 Case AlignCorner.RightTop Me.PaintPicture m_pic, ScaleWidth, 0, -m_Width Case AlignCorner.RightBottom Me.PaintPicture m_pic, ScaleWidth, ScaleHeight, -m_Width, -m_Height Case AlignCorner.LeftBottom Me.PaintPicture m_pic, 0, ScaleHeight, m_Width, -m_Height End SelectEnd SubPrivate Sub Form_Click() '点击一次就切换一下对齐' m_Corner = (m_Corner + 1) Mod 4 DrawPictureEnd SubPrivate Sub Form_Load() Me.AutoRedraw = True Me.ScaleMode = vbPixels Set m_pic = LoadPicture("C:\WINDOWS\Web\Wallpaper\Bliss.bmp") m_Width = ScaleX(m_pic.Width, vbHimetric, vbPixels) m_Height = ScaleY(m_pic.Height, vbHimetric, vbPixels)End SubPrivate Sub Form_Resize() DrawPictureEnd Sub
[解决办法]
[解决办法]
实际上下面三行就搞定了:
- VB code
Rtn = GetWindowLong(Me.hwnd, GWL_STYLE)Rtn = Rtn Or WS_EX_LEFTSetWindowLong Me.hwnd, GWL_EXSTYLE, Rtn
