You are on page 1of 2

Tip]20-������� ��Ÿ�Ϻ���:SetWindowLong| ����ƺ� XML/API

�����|�ȸ 272|��õ 0|2007.04.29. 21:45

[Tip]20-������� ��Ÿ�Ϻ���:SetWindowLong

�� � �‫���ٲ‬
ѵ�...
������� ����� �‫ ���ٷ‬ϴµ
��...(CreateWindowEx Or CreateWindow)
�ǻ� �������� ����� ���� ���� �幰�� ����...
SetWindowLong�Լ�� ����VBA���� �Ұ�����(�Ƹ���) ũ�⺯��, �ִ�ȭ����, �ּ�
ȭ���ߵ�� ���� ����
.
Ȥ���� ����� �̷
��� ���� �ö�͵� �ƴϵȴ‫��� ���� �ٱ‬
ð� �޾� ��� �‫ֽ��ٷ‬ñ� ��ϴ�.
��Ҿ� VB���� ������ MDI���� ȿ�� CreateWindowEx � �̿
��Ͽ� �����ϴ�...
�ǻ� �ܺ���������� ... ����� �Ұ����ϴٰ� ���Ͻ� ������� ��Ʈ���� �‫����� �ذ‬ϸ���
���ϴ�..
�ҽ��� �ʹ��� �����Ͽ�...(����Ͻù� ������ ����) �ø���� ���ϱ���...
�‫ �� ����� ������� �߰� �ٸ‬Ÿ�ϵ�� �� ���ð� �ε�~~~~ ��� ����ħ ��Ź �帳�ϴ�..

Option Explicit

Private Const GWL_STYLE = (-16) ''' // ����� ��Ÿ��


Private Const WS_OVERLAPPED = &H0& ''' // �⺻����찪
Private Const WS_POPUP = &H80000000 ''' �˾������� �� (���ϵ�� �Բ� ���Ұ�)
Private Const WS_CHILD = &H40000000 ''' // �‫�� ������� ڽ‬
Private Const WS_MINIMIZE = &H20000000 ''' // �ּ�ȭ ���·� ��
Private Const WS_VISIBLE = &H10000000 ''' // ��� ���ÿ� ȭ�鿡 ���
Private Const WS_DISABLED = &H8000000 ''' // ������� ���·� ��
Private Const WS_CLIPSIBLINGS = &H4000000
Private Const WS_CLIPCHILDREN = &H2000000
Private Const WS_MAXIMIZE = &H1000000 ''' // �ִ�ȭ ���·� ��
Private Const WS_CAPTION = &HC00000 ''' // Ÿ��Ʋ�‫�� ��������� �ٸ‬
Private Const WS_BORDER = &H800000 ''' // �ܼ������� �� 輱 �� (ũ���� �Ұ�)
Private Const WS_DLGFRAME = &H400000 ''' // �β����輱� �� (Ÿ��Ʋ �� ���)
Private Const WS_VSCROLL = &H200000 ''' // ����ũ�ѹ� ��
Private Const WS_HSCROLL = &H100000 ''' // ����ũ�ѹ� ��
Private Const WS_SYSMENU = &H80000 ''' // �ý��۸޴� ��
Private Const WS_THICKFRAME = &H40000 ''' // ũ������ �����ϰ� ��
Private Const WS_GROUP = &H20000
Private Const WS_TABSTOP = &H10000 ''' // ��Ű ��밡��
Private Const WS_MINIMIZEBOX = &H20000 ''' // �ּ�ȭ��ư ��
Private Const WS_MAXIMIZEBOX = &H10000 ''' // �ִ�ȭ��ư ��
Private Const WS_TILED = WS_OVERLAPPED ''' // Ÿ��Ʋ��(ĸ��) ��
Private Const WS_ICONIC = WS_MINIMIZE ''' // �ּ�ȭ ���·� ��
Private Const WS_SIZEBOX = WS_THICKFRAME ''' // ũ������ �����ϰ� ��
Private Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or
WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)
Private Const WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW
Private Const WS_POPUPWINDOW = (WS_POPUP Or WS_BORDER Or WS_SYSMENU)
Private Const WS_CHILDWINDOW = (WS_CHILD) ''' �‫������ ڽ‬
Private Const WS_EX_DLGMODALFRAME = &H1& ''' // �巡�� �Ǵ� ����� ����� �ֵ��� ��
Private Const WS_EX_NOPARENTNOTIFY = &H4&
Private Const WS_EX_TOPMOST = &H8& ''' /// �‫�����ٸ‬쿡 �������� �ʴ� �����
��(�ֻ��)
Private Const WS_EX_ACCEPTFILES = &H10& ''' // �巡�� �Ǵ� ����� ����� �ֵ��� ��
Private Const WS_EX_TRANSPARENT = &H20& ''' // ����� ����� ��
Private Const WS_EX_MDICHILD = 40 ' - MDI ���ϵ� ����� ��
Private Const WS_EX_CONTROLPARENT = (WS_OVERLAPPED Or WS_TABSTOP)
''''''''''''' // ������� �Ӽ��� �˱�
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
ByVal HWnd As Long, _
ByVal nIndex As Long) As Long
''' // HWnd : ����� �‫�ڵ‬
''' // nIndex : ����� �Ӽ���

''''''''''''' // ������� �Ӽ���� // ''''''''''''


Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal HWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
''' // HWnd : ����� �‫�ڵ‬
''' // nIndex : ����� �Ӽ���
''' // dwNewLong : ��ο� ����� �Ӽ���

''''''''''''' ������‫ڵ‬鰪 �˱�(ĸ�Ǹ����) // ''''''''''


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String _
) As Long

Private Sub UserForm_Initialize()


Dim HWnd As Long
Dim Ret As Long

HWnd = FindWindow(vbNullString, Me.Caption) ''' // ����������� �‫ڵ‬鰪� ���´�


Ret = GetWindowLong(HWnd, GWL_STYLE) ''' // ���� ��� ����� �Ӽ�� ���´�

Ret = Ret Or (WS_MAXIMIZEBOX) ''' // �ִ�ȭ��ư ��


Ret = Ret Or (WS_MINIMIZEBOX) ''' // �ּ�ȭ��ư ��
Ret = Ret Or (WS_THICKFRAME) ''' // ũ������ �����ϰ� ��

Call SetWindowLong(HWnd, GWL_STYLE, Ret) ''' // �Ӽ�����

End Sub

You might also like