🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.program
Article #1244

Visual Basic �еĽ������ԭ��ͱ�̼���

#1244
From: ���ܵ�Сʨ
Date: Sat, 18 Apr 1998 00:00
191 lines
15856 bytes
 Windows��ͨ��ͼ�ν���ij���,ʹ������û�����ͨ��ר�ŵ�ѧϰ
�Ϳ��Ե���Ӧ�ֵ�ʹ�ø���Windows��������������,���dz�����
���������Windows�������ʱ�������ѭ�ı�׼,���ںܴ�̶��ϼ�
���˳�������ߵĸ���,ʹ�����ܹ�����Ҫ�����������������ʵ
���ϡ�
    Visual Basic(���¼��VB)�ij���,��Ӽ���Windows�������
����ƹ���,ֻ��Ҫ�������Ĵ���,����ʵ�ֱ�׼WindowsӦ�ó����
���档����,����˽�Windows���������Ƶ�ԭ��,���߲���ϤVB
�½����̵ļ���,��������ƺ�ʵ�ּȷ��һ���׼�־�����ɫ��
���档

    ������Ƶ�ԭ��
    ������ƾ���һ���Ե�ԭ��,��Ϊ��Ҫ����:

    1.����Ҫ����һ���ԡ�һ����ԭ���ڽ��������������Υ��,ͬ
ʱҲ�������޸ĺͱ��⡣����,�ڲ˵�����������б���ʹ����ͬ��
����;�Ի�����������ͬ�ķ��ȡ�
    2.���ò���Ҫ�нݾ������ò�����ʹ��Ƶ�ȴ�,Ӧ�ü��ٲ�����
�еij��ȡ�����,Ϊ�ļ��ij��ò�����򿪡����̡��������ÿ��
��ʹ���ò������нݾ�,����������û��Ĺ���Ч��,��ʹ�ý�����
����ʵ���ϼ��͸�Ч��

    3.�ṩ�򵥵Ĵ����?ϵͳҪ�д�����Ĺ��ܡ��ڳ��ִ���
ʱ,ϵͳӦ���ܼ�������,�����ṩ�򵥺��������Ĵ����?��
��������ֺ�ϵͳ��״̬������仯,����ϵͳҪ�ṩ����ָ���ָ
����

    4.�ṩ��Ϣ�������Բ�����Ա����Ҫ����Ҫ����Ϣ�������Գ���
�����ͼ򵥲����ķ������Բ���Ҫ��,���ǶԲ����ò�����������Ҫ
�IJ���,ϵͳӦ���ṩ��Ϣ�ķ�����
    5.�������档����Ӧ�ÿ��档����ڲ��߱�ר��֪ʶ�IJ�����Ա
�൱���á�����Ķ��������ǵ����IJ���,������һ����Զ����IJ�
������
    6.������õ����������Ȼ���������û���˵,��������
�ز�����,���Ƕ��ڴ���������û���˵,���������зdz���Ҫ��
���á�
    �˵���Ƶ�ԭ��ͱ��
    �˵���������µ�һ����ԭ��:
    ������ϵͳ�Ĺ�������֯�˵���
    ��Ҫѡ�ù��dz�IJ˵���,����խ����IJ˵�����
    ����ݲ˵�ѡ��ĺ�����з���;���Ұ�һ���Ĺ�������
    ���˵�ѡ��ı���Ҫ������ѧ��̡�������ȷ,��������Թؼ�
�ʿ�ʼ��
    ������ѡ��Ҫ���ÿ�ݼ�
    ������ϵ�ԭ��,�˵���������¼�����ļ����ͼ���: 
    �˵�ѡ��ķ���
    ��VB��,�˵�ѡ��ķ�����ͨ��˵����ָ�����ʵ�ֵġ��ڲ˵�
��һ��λ������һ��Ca ption����Ϊ"-"�IJ˵���,���ڲ˵��Ͼͱ���
Ϊһ�����ߡ�����������,ͬһ�����ܲ˵����ֿ��԰��ղ˵�ѡ��
�Ĺ��ܷ�Ϊ����,��ʱ�Ϳ����÷ָ�������ʵ�ֲ˵���ķ��顣
    ����ѡ���ݼ������
    �򿪲˵���ƴ���(Menu Design Window),Ӧ����ÿ���˵�ѡ��
����Ӧ�Ŀ�ݼ�(Short cut)�б�,�ڸñ���ѡ��һ�����ɡ���Ҫע��
����,�����Ӳ˵��IJ˵����߶���˵��Ŀ�ݼ��������塣����W
indows�Ľ������ԭ��,����˵��Ŀ�ݼ����ʽ��Alt+��ĸ��
    ����һЩ���õĹ��ܲ˵���,��Լ���׳ɵĿ�ݼ�����,�ļ���
����CTRL+O,�ļ�������CRTL+S,��ӡ��CTRL+P,�ȵȡ�
    Ϊ�˵�ѡ���ÿ�ݼ�֮��,�˵��ϸ�ѡ��ĺ���ͳ����˿�
�ݼ�����ֱ�ʾ��
    �˵�ѡ���ʹ�����ֹ���ɼ�������
    Ϊ�˱�ʾ�˵�ѡ���һЩ���⹦��,����Ҫ�õ��˵�ѡ���ʹ��
���ֹ���ɼ����������ԡ�����Ϊij��ԭ��ʹ��ij��ѡ������Ĺ�
�ܲ��ܱ�ʵ��ʱ,��Ӧ�ý�ֹ��ѡ�ѡ�С��˵�ѡ���ʹ�����ֹ
��ͨ��ı��ѡ���Enabled����ʵ�ֵġ�������˵,����˵�ѡ����
ΪmnuName,���ֹ��ѡ���������ʵ��:
    mnuName.Enabled=False
    ͬ��,����һ��ѡ�������:
    mnuName.Visible=False
    ��ʹһ�����ص�ѡ��ָ��ɼ�����
    mnuName.Visible=True
    �˵����������ָ��ɼ����ڶ�̬�˵���ʵ���С�
    �˵���Ķ�̬װ��
    �˵���Ķ�̬װ����ָ�˵���ĸ���̶�,�����ܹ�����Ҫʱ
��̬��װ�롣��򵥵����Ӿ����ļ��˵������򿪵��ļ����б?
�ڵ�һ�δ��ļ�֮ǰ,���б��ǿյ�,���Ҳ����ļ��˵��г���;��
��һ���ļ���,���б?���ǿյ�,�����ļ��˵��г��ִ�?����
���IJ˵��
    �������������,���ۺ������˲˵�����±�����(Index)������
����(Caption)���ɼ�����(Visible)�Լ��˵����װ�뷽��(Load Me
thod)��
    �����ʵ�ֹ������:
    �����ļ��˵�������һ���˵���,��������,������˵����Name
������opened_files_ list;
    ����IJ˵���opened_files_list�Ŀɼ�����,ʹ opened_files_
list.Visible=False
    ����IJ˵���opened_files_list���±�����,ʹ opened_files_
list.Index=0
    ���ڳ����п��Ʋ˵���opened_files_list�Ķ�̬װ�롣
    ����Ҫ��ʾ�򿪹�ĵڶ����ļ����ļ���,���Ҹ��ļ�������
һ���ļ�������opened _file_name����µĴ����ʵ������һ��
��:
    Load opened_files_list(1)
    opened_files_list(1).Caption="&2"+opened_file_name(1)
    opened_files_list(1).Visible=True
    ��Ҫע�����,�����±�Ϊ0�IJ˵���,������Load��������Ϊ��
����ִ��ʱ,�ò˵�����Ѿ���װ�뵽�ڴ�����;����,�ڲ˵���ı�
�������ַ����"&"�ַ��������ĺ���,�������������ʾ��������
���ͬʱ,������ʾ"&"����,�����"&"���ַ�����ʾʱ�����»���
, ���Ҹ��ַ��Ϊ�ȼ�
    ����±겻Ϊ0�IJ˵������Ҫ,Ϊ�˼��ٶ��ڴ���Դ��ռ��,
������Un-load����������ڴ�ж��;ͬ���,������Unloadж���±�
Ϊ0�IJ˵��
    ����ʽ�˵���ʵ��
    VB���ڲ˵���ƴ�������ƵIJ˵�������ʽ�˵�������ʽ�˵���
�û����κ�ʱ�򶼿����ڶ��˲˵�����ѡ��������IJ˵�,���ʽ
�˵������ڳ�������һ�������ڵ㰴�������ֵIJ˵�����ijЩ
�����,����ʽ�˵���ʹϵͳ���ܵ�ʵ�ָ�Ӽ��͸�Ч,ʹ��������
�ӵ���Ӧ�֡�
    Windows����ĵ���ʽ�˵�һ���ǵ��û��ڳ���������ϵ㰴��
���ʱ���ֵġ�����ʽ�˵�������ʵ��ϵͳ�ĸ��ӻ���ǿ���ܡ�����
ʽ�˵�������,������㰴�����λ�ò�ͬ��仯�����ڵ����IJ�
��Ҫ������Ļ��һ����,����Ӧ�������̲˵�������֡�
    ��VB��,����ʽ�˵���ʵ��Ҫ�õ�����ʽ�˵���Ƶļ�����Popup
Menu�����������������:
    ���ڲ˵���ƴ�������ƺ���Ӧ����ĵ���ʽ�˵���Ҫע�����
,Ҫ�����IJ˵�����������һ���Ӳ˵�;�������˵������п�ݼ�,
����Checked���Ա�����False���ٰѵ���ʽ�˵���Visible���Ը�ΪF
alse��
    ���ھ�����ƺõĵ���ʽ�˵��Ĵ����Form_Click�м������´�
��(���赯��ʽ�˵���Name������mnuExam-ple):
    Sub Form_Click()
    PopupMenu mnuExample
    End Sub
    ���Ҫ��ֻ�а�������������Ҽ���ܼ���˵�,�ͱ�����For
m_MouseDown��������´���:
    Sub Form_MouseDown(Button As Integer,Shift As Integer,x 
As Single,y As Sing le)
    If Button=2 then Button=2  ��ʾ����Ҽ�
       PopupMenu mnuExample
    End If
    PopupMenu������䷨��:
    [Form.]PopupMenu menuname[flags[,x[,y]]]
    �ı�flags��ֵ���Կ��Ƶ���ʽ�˵��ı�����ʽ��flags������ֵ
:��һ��ֵ�������Ʋ˵�����ʾ��ʽ,����POPUP-MENU_LEFTALIGN,POP
UPMENU_CENTERALIGN,POPUPMENU_RI-GHTALI GN,�ֱ��ʾ��xΪ���
�硢��xΪ���ĺ���xΪ�ұ߽����ʾ��ʽ,������xΪ��߽���ȱʡ��
��ʽ;����һ��ֵ�������Ʋ˵����ѡ�з�ʽ,����POPUP-MENU_LEFTB
UTTON��POPUP-MENU_R IGHTBUTTON,�ֱ��ʾ���ѡ�к���/�Ҽ�ѡ��
���,�������ѡ����ȱʡ�ķ�ʽ��flags��ֵ�����������ֵ����OR
����ó�������,Ҫ���������ʾ�������ѡ��Ϊ׼,��Ӧ��:
    flags=POPUPMENU_LEFTALIGN OR POPUPMENU_LEFTBUTTON
    x��y��������˵�������λ��,ȱʡ�������е�λ�á�
    �˵������������
    ��ALT+��ĸ����˵�,�����ڲ˵����������ĸ���һ
���˵���,����ѧ��ʹ��&��&���ڲ˵���ı�������(Caption)���
���÷�������������C���Ա��Ƶ�Windows�����е��÷���������ͬ��
    ��ʱϣ���˵�֮��ļ����һЩ,����ij������˵�������
�˵��������Ҷ�,��ʱ��Ҫ�õ����������ǿո�IJ˵������һ����
���ı������ɶ���ո���ɵ�,��ô����˵��ڲ˵����Ͼ�ռ�ø��
��ĸ�����Ӧ�Ŀռ�,���������IJ˵�Ҳ˳��غ���;�������˵�
��Visible������False,��ô��͸����һ��

    ������ƾ���
    ��VB��,MDI(Multiple Document Interface,�ര�ڳ���)������
�������:"MDI������Ϊһ������ĺ�̨����,����MDIChild����
ΪTrue�Ĵ���"����һ��VB������,����ֻ�ܴ���һ��MDI������,����
�ж��MDI�Ӵ���;����һ��MDI������ķ�������VB��File�˵���ѡ
��"New MDI Form"��
    ��MDI������,��һ����������������ڵĸ�����,�����Ӵ���
�����Զ����Ĺ���,�����Ƕ�������Ĺ����������һ�����ⷽ
��,Windows��File Manager��MS Word����õ����ӡ�
    ��MDI��������ʱ,����Ӵ��ھ��в˵�,��ô���Ӵ��ڱ�����ʱ,
�Ӵ��ڵIJ˵��ͻ��Զ��滻�����ڵIJ˵�;���Ӵ��ڱ���С��ʱ,��MD
I��������ͻ�����Ӵ��ڵ�ͼ�ꡣ
    ������һ���������ڼ��������ӡ�Ϊ�������û���ע��,���߱�
�뱣֤������Ҫ��Ϣ�Ĵ��ڲ�������ڸ���,��Ҫ�õ��������ڼ�
��,����һ��"������ǰ��������ǰ��"(TopMos t)�Ĵ��ڡ��������
������:
    ����VB�����м������µ�����:
    Declare Function SetWindowPos Lib"user"(Byval h%,Byval h
b%,Byval x%,Byvaly% ,Byval cx%,Byval cy%,Byval f%)As Integer
    Global Const SWP_NOMOVE=2
    Global Const SWP_NOSIZE=1
    Global Const HWND_TOPMOST=-1
    Global Const HWND
    _NOTOPMOST=-2
    Global Const FLAGS=SWP
    _NOMOVE Or SWP_NOSIZE
    ������Ҫ�Ѵ���frmExample���ó�������ǰ��Ĵ���,ֻҪ��frm
Example�����Form_L oad�����������´���:
    Dim success%
    success=SetWindowPos(frmExam-ple.hWnd,HWND_TOPMOST,0,0,0
,0,FLAGS)
    ���Ҫȡ��������ǰ�������,�����ִ�����µĴ���:
    success=SetWindowPos(frmExa-mple.hWnd,HWND_NOTOPMOST,0,0
,0,0,FLAGS)
    success������0��ʾSetWindowPosִ�гɹ���

--
�� ��Դ:���ϴ�С�ٺ���Ϣ����վ bbs.nju.edu.cn��[FROM: hsia.nju.edu.cn]
Technical Details
Message-ID: <3O9iC4$tD5@bbs.nju.edu.cn>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB
X-Google-Thread: fc86e,5ce58ab6a5dfc79a,start
X-Google-Attributes: gidfc86e,public
From: pipishi.bbs@bbs.nju.edu.cn (���ܵ�Сʨ)
Subject: Visual Basic �еĽ������ԭ��ͱ�̼���
Date: 1998/04/18
Message-ID: <3O9iC4$tD5@bbs.nju.edu.cn>
X-Deja-AN: 345408746
X-Filename: Programming/M.892911172.A
Organization: nju_bbs
Newsgroups: cn.bbs.comp.program