当前位置:首页 > 代码 > 正文

windows风格界面代码(windows图形界面)

admin 发布:2022-12-19 15:28 135


本篇文章给大家谈谈windows风格界面代码,以及windows图形界面对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何用VB6.0制作Windows资源管理器

用1个lisview 1个TREEVIEW 1个IMAGELIST 就可以了,TREEVIEW是显示树形结构的,IMAGELIST是存图标的,LISTVIEW可以有4种图标显示方法,可以做出资源管理器的效果,

listview用法:

通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。(图7)

ColumnHeader对象是ListView控件中包含标头文字的项目。利用ColumnHeader对象,用户可以:

▲单击对象触发ColumnClick事件并根据数据项目将项目排序。

▲拖动对象的右边框来调整列宽度。

▲在报表视图中隐藏ColumnHeader对象。

ColumnHeader对象的数目决定每个ListItem对象可包含的子项目数目。删除ColumnHeader对象后所有与列关联的子项目也将被删除,并且每个ListItem对象的子项目数组将平移以更新ColumnHeader的索引,而这将导致剩余的列标头SubItemIndex属性的改变。

ColumnHeader对象的SubItemIndex属性

该属性返回与ListView控件中ColumnHeader对象关联的子项目的索引。子项目是字符串数组,代表显示在报表视图中的ListItem对象的数据。第一列的列标头SubItemIndex属性设置为0,这是因为小图标和ListItem对象的文字总出现在第一列中,而且它们被当作ListItem对象而不是子项目。列标头数目取决于子项目数目。列标头数目总是比子项目数目多1。

在设计时可以利用属性页的“列首”选项卡将ColumnHeader对象添加到ListView控件中,在运行时则用Add方法添加。

ColumnHeader对象的Add方法

该方法的使用与前面那些控件基本相似,就不再介绍了。

ListView1.ColumnHeader.Add(index,key,text,width,alignment)

ListItem对象是指控件中的一行(不包含标头行)的所有内容。它也可包含文本和图片,但是要使用图片则必须通过Icons和SmallIcons属性引用ImageList控件。

ListItem对象的SubItems属性

返回或设置一个字符串(子项目)数组,它代表ListView控件中ListItem对象的数据。

ListItem对象可包含任意多个的关联项目数据字符串(子项目),但每个ListItem对象子项目数目必须相同。每个子项目都对应于相关的列标头,无法直接向子项目数组添加元素,只有通过ColumnHeaders的Add方法添加列标头的方法来添加子项目。

ListItem对象的Add方法

该方法添加ListItem对象到ListView控件的ListItems集合中并返回对新创建对象的引用。

它的语法如下:

ListItem1.Add(index,key,text,icon,smallIcon)

ListView控件的View属性

ListView控件可使用四种不同视图显示项目,这可以用View属性来确定。该属性返回或设置ListView控件中ListItem对象的外观。

ListView控件的SortOrder,SortKey和Sorted属性

控件中的ListItem对象可以按要求进行排序,与排序有关的属性是SortOrder,Sorted和SortKey属性。

SortOrder属性返回或设置一个值,此值决定ListView控件中的ListItem对象以升序或降序排序。

SortKey属性返回或设置一个值,此值决定ListView控件中的ListItem对象如何排序。

Sorted属性返回或设置确定ListView控件中的ListItem对象是否排序的值。

下面的代码说明了如何创建ColumnHeaders和ListItem对象,SubItemIndex和SubItem属性的使用方法以及如何排序。

Private Sub Form_load()

'确保ListView控件的view属性为报表视图。

ListView1.View=lvwReport

'添加三列。

ListView1.ColumnHeaders.Add,"Name","姓名"

ListView1.ColumnHeaders.Add,"Sex","性别"

ListView1.ColumnHeaders.Add,"Age","年龄"

'向控件添加ListItem对象。

Dim itmX As ListItem

'添加column1的名称。

Set itmX=ListView1.ListItems.Add(1,"ZL","张力")

'使用SubItemIndex将SubItem与正确的ColumnHeader关联。使用关键字("Sex")指定正确的ColumnHeader。

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

'使用ColumnHeader关键字将SubItems字符串与

'正确的ColumnHeader关联。

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"

Set itmX=ListView1.ListItems.Add(1,"LF","李芳")

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"

Set itmX=ListView1.ListItems.Add(1,"WW","王伟")

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"

End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ComctlLib.ColumnHeader)

Select Case ColumnHeader.Key

Case "Sex":ListView1.SortKey=1

ListView1.SortOrder=lvwAscending

ListView1.Sorted=True

Case "Age":ListView1.SortKey=2

ListView1.SortOrder=lvwAscending

ListView1.Sorted=True

End Select

End Sub

七、带刻度滑块---Slider

Slider控件是一个包含滑块和可选择性刻度标记的窗口,可以通过拖动滑块,用鼠标单击滑块的任意一侧或者使用键盘移动滑块来选择一个值。

在选择离散数值或某个范围内的一组连续数值时,Slider控件十分有用。例如,无需键入数字,通过将滑块移动到刻度标记处,可以用Slider控件来输入数值。

Silder控件的大多数基本属性比较简单,我们这里重点介绍一些较有用而又常易忽略的属性。

TickStyle属性

该属性返回或设置Slider控件上显示的刻度标记的样式。

SelectRange,SelStart和SelLength属性

Slider控件可以选择某个范围内的数值,这就要用到SelectRange,SelStart和SelLength属性。

SelectRange属性决定Slider控件是否可以选择一个范围。如果SelectRange属性为True,SelStart为选定范围的起始值,SelLength为选定范围的长度。

如果SelectRange属性为False,则SelStart属性的设置值与&#118alue属性的设置值相同,SelLength属性无效。

下列代码允许在按住SHIFT键时,用鼠标拖动或单击Slider控件以选择一个范围。

Private Sub Form_Load()

'设置slider控件的设置值

Slider1.Max=20

End Sub

Private Sub Slider1_MouseDown(Button As Integer,Shift As Integer,x As Single,y As Single)

If Shift=1 Then '如果按住Shift键,则Slider1.SelectRange=True '打开SelectRange。

Slider1.SelStart=Slider1.&#118alue'设置SelStart数值

Slider1.SelLength=0'设置先前的SelLength(如存在)为0。

End If

End Sub

Private Sub Slider1_MouseUp(Button As Integer,Shift As Integer,x As Single,y As Single)

if Shift=1 Then

'如果在一点决定返回上一步,将发生错误。

On Error Resume Next

'否则使用SelStart和当前数值设置SelLength。

Slider1.SelLength=Slider1.&#118alue-Slider1.SelStart

Else

Slider1.SelectRange=False'如果松开SHIFT键。

End If

End Sub

在程序中,常用Slider控件来代替键盘输入数字,如下面的例子。

该例通过Slider控件来显示不同的长度。

Private Sub Form_Load()

Slider1.Min=0

Slider1.Max=50

Slider1.SmallChange=1

Slider1.LargeChange=10

Slider1.TickFrequency=5

End Sub

Private Sub Slider1_Change()

Label1.Caption="长度是"Format(Slider1.&#118alue/5,"#.00")"厘米"

End Sub

==================

一、ListView使用简介

ListView控件是VB开发者非常喜爱的控件之一。作 为Windows95公共控件组(COMCTL32.OCX)的成员,它经常与经常与TreeView、ImageList等控 件联合使用。即用TreeView显示一个的树型结构,而用ListView显示选中的节点(Node)对 象的记录集。

这是笔者在开发财务软件项目中的凭证管理 模块的一个用户界面。屏幕左边是一个TreeView控件,用来显示会计凭证的类别;右边是一 个ListView,用来显示对应类别的凭证目录;上方是一个菜单条控件(MenuBar)和一个工具 条控件(ToolBar);下方是一个状态栏控件(StatusBar),用来显示凭证数个当前日期。

大家可以看到图中所示的界面非常类似于Window95/98 的资源浏览器,Windows的界面风格做为一种标准已为广大用户所接受。而Windows操作系 统的主要的优点就是为所有的应用程序提供了公用的界面。知道如何使用基于Windows的 应用程序的用户,很容易学会使用其他应用程序。

这种使用Windows95公共控件组合的方法能够达 到与Windows界面的一致性,所以在目前VB5.0应用程序的开发中经常使用。

二、填充大量结果集所遇到的问题

在实际应用开发中,经常用ListView填充一个数据库 结果集(Record set)的内容。即先写一段SQL查询语句,产生一个结果集,然后将结果集的每一 条记录用DO...LOOP循环语句中填到ListView中。

但是当结果集很大时(例如有5000条以上的记录) ,填充所需要的时间会很长。用户不得不等很长时间完成一个查询。所以在查询的过程中 必须允许用户按Escape键退出。具体做法是在DO...LOOP循环体中加一条DoEvents函数,并 写一段中断退出程序代码。

DoEvents函数的功能是:转让控制权,以便让操 作系统处理其它的事件。这样在长时间的查询过程中,如果用户按了Escape键,将退出循环 体,结束查询过程。

但是这样又会引发另外一个问题:由于DoEvents 可以让操作系统响应别的事件,循环体中填充每一条ListView项目(ListItem)的过程也会 显示出来,所以在填充的过程中屏幕会不停的闪动,这种现象当然不能被用户所接受。如何 解决这个问题呢?

三、解决方案

用WindowsAPI函数可以解决这个问题。首先对几个 用到的API函数做一解释和说明。

1.GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

此函数的功能是获得一个指定对象窗口(Window) 的矩型框区域(rectangle)。

Hwnd为指定对象或窗体的句柄。LpRect为返回矩 型框的结构(必须定义为结构类型的变量)。

2.ValidateRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

此函数的功能是使指定的矩型区域生效。这样会 通知Windows不必对指定的区域进行重画(Redraw)。

3.InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT, ByVal bErase As Long) As Long

此函数的功能是使指定的矩型区域无效。这样会 通知Windows要对指定的区域进行重画。

具体实现的步骤如下:

1.在填充结果集之前先用GetClientRect函数获 得ListView的显示区域。

2.在增加完一个显示项目(ListItem)后用ValidateRect 函数置这一区域为有效。这样Windows就不会显示每一条ListItem,屏幕闪动的现象就会消 失。

3.在填充结果集之后,用InvalidateRect函数置 这一区域为无效。这样Windows就会重画ListView的内容,结果集被完整的显示出来。

下面是笔者在项目开发中的一个程序实例。程序 名为FillListView。该程序将填写一个Access数据库(FISCAL.MDB)的凭证表(Table)的内 容到ListView中。

首先进入VB5.0,新建一个窗体(Form),名为Form1。

然后在Form中增加下列控件。

控 件 名 Name

ListView Lvw

Imagelist imlList

Command Button。 Command1

将ImageList控件中充填一个名为“item”的图象后 与ListView控件关联。

在工程菜单命令条中进入“引用”对话框,选 择“MicrosoftDAOObjectLibrary”

在Form的通用模块(Modle)中定义以下变量。

Private Type RECT ' 用 来 定 义 一 个 区 域 的 坐 标。

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

' - -

' Windows API 函 数 的 声 明。

Private Declare Function InvalidateRect Lib "user32"

(ByVal hwnd As Long, lpRect As RECT, ByVal bErase As Long) As Long

Private Declare Function ValidateRect Lib "user32"

(ByVal hwnd As Long, lpRect As RECT) As Long

Private Declare Function GetClientRect Lib "user32"

(ByVal hwnd As Long, lpRect As RECT) As Long

Dim mbSearchCancel As Boolean

' 用 来 定 义 查 询 中 断 的 标 志。

' True 表 示 中 止 查 询;False 表 示 正 在 查 询。

将 该Form 的KeyPreview 属 性 设 为True, 以 控 制 窗 体 接 收 键 盘 事 件。

然 后 在Form 的KeyPress 事 件 中 写 下 列 代 码:

If KeyAscii = vbKeyEscape Then

mbSearchCancel = True

' 当 用 户 按Escape 键 时, 置mbSearchCancel 变 量 为True。

End If

' 表 示 结 束 查 询。

在Command Button 的 Click 事 件 中 调 用 填 充 子 程 序:Call FillListView。

子 程 序 的 代 码 为:

Private Sub FillListView()

'

Dim itmX As ListItem ' 定 义 一 个ListView 的 显 示 项 目。

Dim sSQL As String ' 查 询 字 串 变 量 。

'

Dim rc As RECT ' ListView 的 显 示 区 域。

Dim wrkJet As Workspace ' 数 据 库 工 作 空 间。

Dim dbFISCAL As Database ' 数 据 库 对 象。

Dim RS As Recordset ' 数 据 结 果 集。

On Error GoTo ErrFillListView

Screen.MousePointer = vbHourglass

lvw.ListItems.Clear: ' 清 除ListView 的 内 容。

'

' 定 义ListView 的 列 头 的 名 称。

With lvw.ColumnHeaders

.Add , , " 凭 证 编 号", 800

.Add , , " 凭 证 日 期", 1000

.Add , , " 凭 证 字 号", 1000

.Add , , " 凭 证 类 别", 800

.Add , , " 首 行 摘 要", 1440

.Add , , " 借 方 金 额 合 计", 1000, lvwColumnRight

End With

' - - -

' 产 生 查 询 语 句。

sSQL = "select voucher_id,voucher_number,voucher_date,voucher_type_shortname,"

sSQL=sSQL"voucher_type_name,voucher_memo,voucher_amount from VOUCHER"

sSQL = sSQL "order by voucher_number"

' ' - - -

' 打 开 一 个 数 据 库 结 果 集。

Set wrkJet = CreateWorkspace("NewJetWorkspace", "admin", "", dbUseJet)

Set dbFISCAL = wrkJet.OpenDatabase("FISCAL.mdb")

Set RS=. dbFISCAL .Open sSQL,dbOpenForwardOnly

'

' 获 得listview 的 显 示 区 域。

Call GetClientRect(lvw.hwnd, rc)

Do While Not RS.EOF()

DoEvents

If mbSearchCancel Then

' 中 断 退 出

RS.Close: Set RS = Nothing ' 关 闭、 清 除 结 果 集。

mbSearchCancel = False

Screen.MousePointer = vbDefault

' - -

' 刷 新ListView 的 内 容, 显 示 已 经 查 出 的 记 录 数。

Call InvalidateRect(lvw.hwnd, rc, True)

Exit Sub

End If

' - - -

' 增 加 一 个 显 示 项 目ListItem。

With lvw.ListItems

Set itmX = .Add(, , "" RS!voucher_number, "item", "item")

' 凭 证 编 号

itmX.SubItems(1) = Format$("" RS!voucher_date, "yyyy/mm/dd")

' 凭 证 日 期

itmX.SubItems(2) = "" RS!voucher_type_shortname "-" —

' 凭 证 字 号

"" RS!voucher_number

itmX.SubItems(3)="" RS!voucher_type_name

' 凭 证 类 别

itmX.SubItems(4)=""RS!voucher_memo

' 首 行 摘 要

itmX.SubItems(5)= Format$("" RS!voucher_amount, "#,###.00")

' 借 方 合 计 金 额

itmX.Tag = "" RS!voucher_id

End With

' - -

' 避 免 显 示 区 域 的 闪 动 现 象。

Call ValidateRect(lvw.hwnd, rc)

RS.MoveNext

Loop

'

'- 刷 新ListView 的 内 容。 显 示 所 有 查 出 的 记 录 数。

Call InvalidateRect(lvw.hwnd, rc, True)

' -

' 关 闭、 清 除 结 果 集。

RS.Close: Set RS = Nothing

creen.MousePointer = vbDefault

Exit Sub

ErrFillListView:

Screen.MousePointer = vbDefault

MsgBox Err ":" Error, vbInformation, Me.Caption

Exit Sub

End Sub

listview 是VB中经常用到的控件。下面说一下其使用。代码如下:

ListView1.ColumnHeaders.Add , "name", "Name", 2000 '定义列头

ListView1.ColumnHeaders.Add , "age", "Age", 1000

ListView1.ColumnHeaders.Add , "position", "Position", 3000

ListView1.ColumnHeaders.Add , "addr", "Home addr", 5000

ListView1.ColumnHeaders.Add , "other", "Other", 3000

Set itmX = ListView1.ListItems.Add(, "a", "abcd") '添加一列并设置对象itmX为listitem.

itmX.SubItems(1) = "32" '在单元格里添加内容.

itmX.SubItems(2) = "32"

双击事件

Private Sub ListView1_DblClick()

If Me.ListView1.SelectedItem Is Nothing Then

Exit Sub

End If

Dim Item As ListItem

Set Item = Me.ListView1.SelectedItem

MsgBox Item.Text '显示被双击的条目的text

End Sub

treeview用法:

Treeview 控件:名称 Treeview1;

Imagelist 控件:名称 Imagelist1,并在该控件中放置三张个性图片(32×32),建立索引1、2、3;(方法:在Imagelist 控件上单击鼠标右键选择属性)

Label 控件:名称分别为Lab(0)、Lab(1),Caption分别为“父节点:”、“子节点:”;

Textbox 控件:名称分别为Txt(0)、Txt(1),text都为“”;

commandbutton 控件:名称为系统默认,Caption分别为“添加”、“展开”、“收起”、“排序”、“删除”、“退出”;

将下列代码加入到代码框:

Option Explicit

Dim I As Integer

Dim J As Integer

Dim nodx As Node

Dim CunZai As Boolean '定义变量

Private Sub Command1_Click()

If Txt(0).Text "" And Txt(1).Text "" Then '不允许建立零字节的父节点和子节点

CunZai = False

J = TreeView1.Nodes.Count

For I = 1 To TreeView1.Nodes.Count '检查新输入的父节点名称是否存在

If TreeView1.SelectedItem.Children 0 Then

If Txt(0).Text = TreeView1.Nodes(I).Text Then CunZai = True

End If

Next I

If CunZai = True Then '若存在, 则在父节点下建立子节点

Set nodx = TreeView1.Nodes.Add(Txt(0).Text, tvwChild, "child" J,

Txt(1).Text, 3)

Else ,若不存在,则建立父节点和子节点

Set nodx = TreeView1.Nodes.Add(, , Txt(0).Text, Txt(0).Text, 1)

Set nodx = TreeView1.Nodes.Add(Txt(0).Text, tvwChild, "child" J,_

Txt(1).Text, 3)

End If

TreeView1.Refresh

ElseIf Txt(0).Text = "" Then MsgBox "请输入父节点名称!", vbInformation, "警告!"

'系统提示

ElseIf Txt(1).Text = "" Then MsgBox "请输入子节点名称!", vbInformation, "警告!"

End If

End Sub

Private Sub Command2_Click()

For I = 1 To TreeView1.Nodes.Count

TreeView1.Nodes(I).Expanded = True '展开所有节点

Next I

End Sub

Private Sub Command3_Click()

For I = 1 To TreeView1.Nodes.Count

TreeView1.Nodes(I).Expanded = False '收起所有节点

Next I

End Sub

Private Sub Command4_Click()

TreeView1.Sorted = True '排列顺序

End Sub

Private Sub Command5_Click()

If TreeView1.SelectedItem.Index 1 Then

TreeView1.Nodes.Remove TreeView1.SelectedItem.Index '删除选定的节点

End If

End Sub

Private Sub Command6_Click()

End '退出程序

End Sub

Private Sub Form_Load()

TreeView1.LineStyle =TvwTreeLines '在兄弟节点和父节点之间显示线

TreeView1.ImageList = ImageList1 '链接图像列

TreeView1.Style = tvwTreelinesPlusMinusPictureText

'树状外观包含全部元素

Set nodx = TreeView1.Nodes.Add(, , "蒲子明", "蒲子明", 1)

'建立名称为"蒲子明"的父节点,选择索引为1的图像

Set nodx = TreeView1.Nodes.Add("蒲子明", tvwChild, "child01", "收件箱", 3)

'在"蒲子明"父节点下建立"收件箱"子节点,选择索引为3的图像

Set nodx = TreeView1.Nodes.Add("蒲子明", tvwChild, "child02", "发件箱", 3)

'在"蒲子明"父节点下建立"发件箱"子节点,选择索引为3的图像

CunZai = False

End Sub

Private Sub TreeView1_Expand(ByVal Node As MSComctlLib.Node)

Node.ExpandedImage = 2 '节点被展开时,选择索引为2的图像

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)

If TreeView1.SelectedItem.Children = 0 Then '检查是否有子节点,0为无

For I = 1 To TreeView1.Nodes.Count

If TreeView1.Nodes(I).Selected Then

MsgBox "您选择的是:“" TreeView1.Nodes(I).FullPath "”子节点!"

'系统提示

End If

Next I

End If

告诉你用法你得自己写代码才有编程的乐趣不是吗???

在visual studio 2010里windows应用程序界面的代码怎么看,就是拖了控件以后会发生改变的那个代码。

如果你的窗体是 Form1,控件自动生成代码在Form1.Designer.cs里面 在解决方案里面可以看到Form1前面是折叠的"+",展开就可以看到 这个文件了的.

如何将win10设置成标准windows界面

在Win10系统中,很多界面的显示和win7系统的都不一样,有很大的差别,资源管理器就是其中一个,很多网友还是比较习惯使用win7系统的资源管理器界面,我们可以将win10的显示风格设置成win7的,这样大家的习惯就可以不用改变了。 Win10资源管理器怎么设置成win7界面? 1、首先,我们要打开注册表窗口,按下win+r键,输入regedit,然后回车;2、打开的注册表之后,我们需要找到目"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions",找出其中代表6个置顶文件夹的字符串,然后将其子项"PropertyBag"中的"ThisPCPolicy"由"show"改为"Hide".包含图片:{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag、视频:{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag、下载:{7d83ee9b-2244-4e70-b1f5-5393042af1e4}\PropertyBag、音乐:{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag、桌面:{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag、文档:{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag;3、改完时候,回到桌面,点击打开我的电脑,你会看到你刚才屏蔽的那些快捷图标就没了;4、由于windows10操作系统打开资源管理器的时候是默认打开你最近访问的项目和位置,我们接下来设置让其打开资源管理器的时候默认打开的是我的电脑;5、点击资源管理器左上侧查看按钮,然后选择选项按钮,点击进入;

Windows界面C语言源代码

你试试吧,我不清楚能不能在BORLAND C里运行。

#includewindows.h

LRESULT CALLBACK MainWndProc(HWND,UINT,WPARAM,LPARAM);

int APIENTRY WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

char szClassName[]="MainWClass";

WNDCLASSEX wndclass;

// 用描述主窗口的参数填充WNDCLASSEX结构

wndclass.cbSize=sizeof(wndclass); // 结构的大小

wndclass.style=CS_HREDRAW|CS_VREDRAW|CS_OWNDC; // 指定如果大小改变就重画

wndclass.lpfnWndProc=MainWndProc; // 窗口函数指针

wndclass.cbClsExtra=0; // 没有额外的类内存

wndclass.cbWndExtra=0; // 没有往外的窗口内存

wndclass.hInstance=hInstance; // 实例句柄

wndclass.hIcon=::LoadIcon(NULL,IDI_APPLICATION); // 使用预定义图标

wndclass.hCursor=::LoadCursor(NULL,IDC_ARROW); // 使用预定义的光标

wndclass.hbrBackground=(HBRUSH)::GetStockObject(WHITE_BRUSH); // 使用白色背景画刷

wndclass.lpszMenuName=NULL; // 不指定菜单

wndclass.lpszClassName=szClassName; // 窗口类的名称

wndclass.hIconSm=NULL; // 没有类的小图标

// 注册这个窗口类

::RegisterClassEx(wndclass);

// 创建主窗口

HWND hwnd=::CreateWindowEx(

0, // dwExStyle,扩展样式

szClassName, // lpClassName,类名

"Window", // lpWindowName,标题

WS_OVERLAPPEDWINDOW, // dwStyle,窗口风格

CW_USEDEFAULT, // X,初始X坐标

CW_USEDEFAULT, // Y,初始Y坐标

CW_USEDEFAULT, // nWidth,宽度

CW_USEDEFAULT, // nHeight,高度

NULL, // hWndParent,父窗口句柄

NULL, // hMenu,菜单句柄

hInstance, // hInstance,程序实例句柄

NULL); // lpParam,用户数据

if(hwnd==NULL)

{

::MessageBox(NULL,"创建窗口出错!","出错",MB_OK);

return -1;

}

// 显示窗口,刷新窗口客户区

::ShowWindow(hwnd,nCmdShow);

::UpdateWindow(hwnd);

// 从消息队列中取出消息,交给窗口函数处理,直到GetMessage返回FALSE,结束消息循环

MSG msg;

while(::GetMessage(msg,NULL,0,0))

{

// 转换键盘消息

::TranslateMessage(msg);

// 将消息发送到相应的窗口函数

::DispatchMessage(msg);

}

// 当GetMessage返回FALSE时程序结束

return msg.wParam;

}

LRESULT CALLBACK MainWndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)

{

char szText[]="最简单的窗口程序!";

switch(message)

{

case WM_PAINT:

{

HDC hdc;

PAINTSTRUCT ps;

hdc=::BeginPaint(hwnd,ps);

::EndPaint(hwnd,ps);

return 0;

}

case WM_DESTROY:

::PostQuitMessage(0);

return 0;

}

return ::DefWindowProc(hwnd,message,wParam,lParam);

}

求使用C#控制台程序仿制windows多系统选择的界面的源代码!

using System;

using System.Collections.Generic;

using System.Text;

namespace TestConsoleMenu

{

class Program

{

static int iCurrent = 0;

static string[] strUrlArr = null;

static void Main(string[] args)

{

strUrlArr = new string[] {

"",

"",

""

};

Output();

bool blnSelectOK = false;

ConsoleKeyInfo ki = Console.ReadKey(true);

while (!blnSelectOK)

{

switch (ki.Key)

{

case ConsoleKey.NumPad1:

iCurrent = 1;

break;

case ConsoleKey.NumPad2:

iCurrent = 2;

break;

case ConsoleKey.NumPad3:

iCurrent = 3;

break;

case ConsoleKey.UpArrow:

iCurrent--;

if (iCurrent 1) iCurrent += 3;

break;

case ConsoleKey.DownArrow:

iCurrent++;

if (iCurrent 3) iCurrent -= 3;

break;

case ConsoleKey.Enter:

if (iCurrent == 0)

{

Console.Beep();

}

else

{

blnSelectOK = true;

LoadSelect();

}

break;

default:

Console.Beep();

break;

}

Output();

ki = Console.ReadKey(true);

}

}

static void Output()

{

Console.Clear();

Console.WriteLine("Please Select Menu:");

Console.WriteLine("");

for (int i = 0; i strUrlArr.Length; i++)

{

if (i + 1 == iCurrent)

{

Console.ForegroundColor = ConsoleColor.Red;

Console.BackgroundColor = ConsoleColor.Gray;

}

Console.WriteLine(" {0}. {1}", i + 1, strUrlArr[i]);

Console.ResetColor();

}

Console.WriteLine("");

Console.WriteLine("Please Press 1-3 or UP DOWN key to select");

}

static void LoadSelect()

{

Console.WriteLine("");

Console.WriteLine("Loading url {0} ....", strUrlArr[iCurrent - 1]);

Console.ReadKey();

}

}

}

自己再进一步完善吧。

如何用代码写出好看的win10主题桌面

【点击“个性化”】

先用鼠标在桌面上点击右键,然后在跳出的小框选择最后一个“个性化”用左键点击进入设置界面。

【点击“背景”】

在设置界面的左上角用左键点击“背景”,然后在中间显示的几张小图中选择其中一张喜欢的做桌面背景。如果这几张你不喜欢的话,可以点击小图下的“浏览”,到电脑里选择其它保存的图片。

【点击“纯色”】

如果你是一个喜欢简单的人,也可以选择单一颜色的背景。先左键点击“图片”右边的下拉按钮,再在显示的下拉三项中点击“纯色”,然后在出现的多种“背景色”中选择一种自己最喜欢的即可。

【选择“幻灯片放映”】

如果你想让自己的桌面时刻充满新鲜和惊喜,也可以选择“背景”下拉框中的“幻灯片放映”,再点击下边的“浏览”,然后在跳出的窗口中先点图片存放的磁盘位置,再点具体的文件夹,最后点“选择此文件夹”即可。

【更改图片的频率】

选好幻灯片放映的文件夹后,我们还要设置它更换每张图的时间。我们首先点击“更改图片的频率”下的那个时间旁边的下拉按钮,然后在跳出的各种时间中选择一种。

【选择契合度】

因为电脑中保存的图片并不全是按电脑显示屏大小定制的,其中有大也有小,放到桌面上做背景有时难免不大好看,这时,我们就要对图片的契合度进行选择了。首先点击契合度按钮,然后选择其中一种最适合的展示图片的模式就可以了。

7

【其它个性化设置】

当然,以上只是对电脑桌面背景方面的一些个性化设置,其实,我们还可以对电脑的其它方面进行个性化设置(比如颜色、锁屏界面、主题和开始菜单)。在此,我也不一一去讲了,大家可以自己去试试。

关于windows风格界面代码和windows图形界面的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/10339.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载