winform的tabcontrol控件怎么设置透明

winform的tabcontrol控件怎么设置透明,第1张

打开Microsoft

Visual

Studio

2010,

新建名字为【tabcontrol控件】的程序。

在新程序界面空白窗口上放置合适的控件:包括,

显示 *** 作流程的textbox控件;

用于作为重新绘制颜色示例的tabControl。

点击tabControl控件,在属性页中修改【drawMode】属性。

再进入tabControl控件的事件属性页,添加【DrawItem】事件。

编辑【DrawItem】事件,进行初始化tabcontrol选项页颜色。

首先设置各种颜色的笔刷。

并设置标签文字居中对齐。

逐个绘制各个标签页的背景颜色,包括黄色、蓝色、绿色等。

最后设置文字颜色,并设置标签文字字体和文字大小。

8

增加用于在日志信息框中输出日志的output方法代码。

9

生成exe文件进行测试,可以看到tab的5个标签页是以设置的5种不同的颜色来表现的,测试成功。

C++应用程式中,画图程式 建立画笔的程式码 急~~

要想在MFC中画出有颜色的线条,首先就要设定DC的画笔,我们可以按如下方法来设定画笔:

第一步:在View类中新增一个COLORREF型别的资料成员m_Color(用来储存画笔颜色值),在建构函式中对其初始化,

m_Color(RGB(255,0,0))

第二步:在WM_LBUTTONDOWN和WM_LBUTTONUP讯息的处理函式OnLButtonDown和OnLButtonUp中新增如下程式码:

void CdrView::OnLButtonDown(UINT nFlags, CPoint point)

{

TODO: Add your message handler code here and/or call default

m_StartPoint=point用来储存画线起始点的位置,即滑鼠左键第一次按下时的位置,型别为CPoint

CView::OnLButtonDown(nFlags, point)

}

void CdrView::OnLButtonUp(UINT nFlags, CPoint point)

{

TODO: Add your message handler code here and/or call default

第一种方法,用HDC绘图,使用API函式设定画笔颜色

/*HDC hdc

hdc=::GetDC(m_hWnd)

::SelectObject(hdc,CreatePen(PS_SOLID,1,m_Color))向装置上下文(装置描述表)中插入由CreatePen函式建立的画笔

::MoveToEx(hdc,m_StartPoint.x,m_StartPoint.y,NULL)

::LineTo(hdc,point.x,point.y)

::ReleaseDC(m_hWnd,hdc)*/

第二种,用CDC类绘图,使用CPen类构造画笔

/*CDC aDC

CPen pen(PS_SOLID,1,m_Color)建立一个画笔类物件,构造时设定画笔属性

aDC.m_hDC=::GetDC(m_hWnd)

aDC.SelectObject(&pen)

aDC.MoveTo(m_StartPoint)

aDC.LineTo(point)

::ReleaseDC(m_hWnd,aDC.m_hDC)*/

第三种,用CClient类绘图,使用CPen类构造画笔,跟第二种方法不同的是用CClientDC时不用手动去获取DC,和释放DC

CClientDC aDC(this)CClientDC的建构函式需要一个引数,这个引数是指向绘图视窗的指标,我们用this指标就可以了

CPen pen(PS_SOLID,1,m_Color)建立一个画笔类物件,构造时设定画笔属性

aDC.SelectObject(&pen)

aDC.MoveTo(m_StartPoint)

aDC.LineTo(point)

CView::OnLButtonUp(nFlags, point)

}

void CdrView::OnMouseMove(UINT nFlags, CPoint point)

{

TODO: Add your message handler code here and/or call default

CView::OnMouseMove(nFlags, point)

}

执行程式,就可以画出红色的线条来,如果想画其它颜色,只需要设定m_Color的值即可,例如,要设定成绿色,可以在View类的建构函式处把m_Color(RGB(255,0,0))改写成m_Color(RGB(0,255,0))。颜色的改变是通过设定RGB(0,255,0)中的三个引数来实现的。RGB中的三个引数分别对应三原色的红、绿、蓝,每一个引数的取值范围都是0~255,通过不同数值的组合,就可以画出各种各样的颜色来了。

visual c++ 2008 如何建立windows应用程式

用windowsAPI函式写WinMain函式,用RegisterClass注册类,CreateWindow建立视窗,或者用MFC

VS10中 windows应用程式 MFC应用程式 对话方块应用程式什么区别 在vs10中怎么用c++建立对话方块应用程式 求助

windows应用使用sdk类库 mfc用mfc类库

对话方块应用程式就是视窗的风格不同而已

新建专案 选择mfc应用程式 然后在专案属性中设定 基于对话方块

谁有C语言的画图应用程式

#include<stdio.h>

#include<graphics.h>

#include<math.h>

#include<dos.h>

#include<bios.h>

#include<ctype.h>

#include<process.h>

#include<conio.h>

#define COLOR WHITE

#define F1 59

#define F2 60

#define UP 72

#define DOWN 80

#define LEFT 75

#define RIGHT 77

#define HOME 71

#define END 79

#define PAGEUP 73

#define PAGEDOWN 81

int inc=1

typedef union /*返回键盘输入值*/

{char c[2]

int i

}KEY

KEY key

typedef struct /*定义点*/

{int x

int y

}DOT

DOT dis,firstdot,secdot,dot1

int point()

int do_that()

void mv_cp(int startx,int starty,int endx,int endy,int x,int y,int flag)/*移动函式*/

void fill(int startx,int starty,int endx,int endy)/*填充*/

void colour()/*颜色*/

void menu(void)/*主选单*/

void save(void)/*储存*/

void load(void)/*开启档案*/

void xhairs(int a,int b)/*显示游标*/

void arr_key(char c)

/*--------------------------------主函式---------------------------------------*/

void main()

{

int k,j,m,r,x1,y1,xn,yn

int driver,mode

dis.x=200

dis.y=200

driver=DETECT

mode=VGAHI

registerbgidriver(EGAVGA_driver)

registerbgifont(TRIPLEX_FONT)

initgraph(&driver,&mode,"f:\\tc2.01\\BGI")

setbkcolor(BLUE)

cleardevice()

setcolor(YELLOW)

xhairs(dis.x,dis.y)

while(key.c[0]!='q')

{

menu()/*显示选单*/

key.i=bioskey(0)

xhairs(dis.x,dis.y)

if(!key.c[0])

arr_key(key.c[1])

else

switch(tolower(key.c[0]))

{

case 'f':

xhairs(dis.x,dis.y)colour()break

case 'd':x1=y1=0xhairs(dis.x,dis.y)setcolor(LIGHTRED)

outtextxy(10,22+(13)*30,"b:begine point")

outtextxy(10,22+(14)*30,"g:give up")

x1=point()

fill(6,410,149,430)

xhairs(dis.x,dis.y)

outtextxy(10,22+(13)*30,"e:end point")

outtextxy(10,22+(14)*30,"g:give up")

y1=point()

fill(6,410,149,460)

setcolor(COLOR)

if(x1&&y1)

{outtextxy(10,22+(13)*30,"move the +")

outtextxy(10,22+(14)*30,"y:do n:no")

}

x1=0

xhairs(dis.x,dis.y)

x1=do_that()

if(x1)

{xn=dis.xyn=dis.y

mv_cp(firstdot.x,firstdot.y,secdot.x,secdot.y,xn,yn,0)

}

fill(6,410,149,460)break

case 'l':x1=y1=0/*画直线*/

xhairs(dis.x,dis.y)

setcolor(LIGHTRED)

outtextxy(10,22+(13)*30,"b:begin point")

outtextxy(10,22+(14)*30,"g:give up")

x1=point()

fill(6,410,149,430)

xhairs(dis.x,dis.y)

outtextxy(10,22+(13)*30,"e:end point")

outtextxy(10,22+(14)*30,"g:five up")

y1=point()

setcolor(COLOR)

if(x1&&y1)

line(firstdot.x,firstdot.y,secdot.x,secdot.y)

fill(6,410,155,460)

break

case 'o':/*画圆形*/

x1=y1=0

xhairs(dis.x,dis.y)

setcolor(LIGHTRED)

outtextxy(10,22+(13)*30,"b:radius")

outtextxy(10,22+(14)*30,"g:give up")

x1=point()

fill(6,410,149,430)

xhairs(dis.x,dis.y)

outtextxy(10,22+(13)*30,"e:radius")

outtextxy(10,22+(14)*30,"g:give up")

y1=point()

if(x1&&y1) setcolor(COLOR)

r=sqrt(fabs((secdot.x-firstdot.x)*(secdot.x-firstdot.x)+(secdot.y-firstdot.y)*(secdot.y-firstdot.y)))

if(x1&&y1) circle(firstdot.x,firstdot.y,r)

fill(6,410,149,460)break

case 'h':/*画矩形*/

x1=y1=0

xhairs(dis.x,dis.y)

setcolor(LIGHTRED)

outtextxy(10,22+(13)*30,"b:left ")

outtextxy(10,22+(14)*30,"g:give up")

x1=point()

fill(6,410,149,430)

xhairs(dis.x,dis.y)

outtextxy(10,22+(13)*30,"e:right bottom")

outtextxy(10,22+(14)*30,"g:give up")

y1=point()

if(x1&&y1)

{

setcolor(COLOR)

rectangle(firstdot.x,firstdot.y,secdot.x,secdot.y)

}

fill(6,410,155,460)break

case 's':cleardevice()break/*清屏*/

case 'w':save()break

case 'r':load()break

case 'm':x1=y1=0/*图形移动*/

xhairs(dis.x,dis.y)

setcolor(LIGHTRED)

outtextxy(10,22+(13)*30,"b:begin point")

outtextxy(10,22+(14)*30,"g:give up")

x1=point()

fill(6,410,149,430)

xhairs(dis.x,dis.y)

outtextxy(10,22+(13)*30,"e:end point")

outtextxy(10,22+(14)*30,"g:give up")

y1=point()

fill(6,410,149,460)

setcolor(COLOR)

if(x1&&y1)

{

outtextxy(10,22+(13)*30,"move the +")

outtextxy(10,22+(14)*30,"y:do n:no")

}

x1=0

xhairs(dis.x,dis.y)

x1=do_that()

if(x1)

{

xn=dis.xyn=dis.y

mv_cp(firstdot.x,firstdot.y,secdot.x,secdot.y,xn,yn,1)

}

fill(6,410,149,460)break

}

xhairs(dis.x,dis.y)

}

closegraph()

}

/*--------------------------------显示游标函式--------------------------------*/

void xhairs(int a,int b)

{

int i

for(i=a-3i<=a+3i++)

putpixel(i,b,15^getpixel(i,b))

for(i=b-3i<=b+3i++)

putpixel(a,i,15^getpixel(a,i))

}

/*------------------------------选单函式------------------------------*/

void menu(void)

{

#define STARTX 10

#define STARTY 22

#define DISTANCE 30

int i

char *menu_name[]={"F1:setp=1",

"F2:step=5",

"l:draw line",

"draw cirle",

"h:graw box",

"s:clear screen",

"m:move",

"d:copy",

"f:fill color",

"w:save",

"r:load",

"q:quit"}

setcolor(WHITE)

rectangle(5,5,150,470)

rectangle(5,403,150,470)

rectangle(155,5,635,470)

setcolor(LIGHTBLUE)

settextstyle(TRIPLEX_FONT,HORIZ_DIR,2)

outtextxy(36,STARTY,"menu")

settextstyle(DEFAULT_FONT,HORIZ_DIR,1)

for(i=0i<12i++)

outtextxy(STARTX,STARTY+(i+1)*DISTANCE,menu_name[i])

}

/*---------------------------------储存函式---------------------------------*/

void save(void)

{int i,j

FILE *fp

if((fp=fopen("graph.dat","w+"))==NULL)

{printf("cannot open this file!")

exit(0)

}

fill(260,473,400,480)

for(i=5i<470i++)

for(j=155j<=635j++)

fputc(getpixel(j,i),fp)

fclose(fp)

outtextxy(260,471,"save over!")

}

/*-----------------------------------------开启函式------------------------*/

void load(void)

{

int i,j

FILE *fp

if((fp=fopen("graph.dat","r+"))==NULL)

{

outtextxy(260,471,"cannot open this file!")

getch()

exit(0)

}

fill(260,471,400,480)

outtextxy(280,471,"loading......")

for(i=5i<=470i++)

for(j=155j<=635j++)

putpixel(j,i,fgetc(fp))

fill(260,471,400,480)

fclose(fp)

outtextxy(280,471,"loading over")

}

/*-----------------------------------------移动复制函式---------------------------*/

void mv_cp(int startx,int starty,int endx,int endy,int x,int y,int flag)

{

int i,j

unsigned char c

if(startx>endx)

{i=startxstartx=endxendx=i}

if(starty>endy)

{i=starty

starty=endyendy=i}

for(startx<=endxstartx++,x++)

for(i=starty,j=yi<=endyi++,j++)

{c=getpixel(startx,i)

if(flag) putpixel(startx,i,BLUE)

putpixel(x,j,c)

}

}

/*----------------------------返回点座标函式----------------------------------*/

int point()

{int valid_p=0,g=1

key.c[0]=''

while(key.c[0]!='p')

{key.i=bioskey(0)

xhairs(dis.x,dis.y)

if(!key.c[0])

arr_key(key.c[1])

else

switch(tolower(key.c[0]))

{case 'b':putpixel(dis.x,dis.y,COLOR)

firstdot.x=dis.x

firstdot.y=dis.y

key.c[0]='p'

valid_p=1

break

case 'e':

putpixel(dis.x,dis.y,COLOR)

secdot.x=dis.x

secdot.y=dis.y

key.c[0]='p'

valid_p=2break

case 'g':

firstdot.x=secdot.x

firstdot.y=secdot.y

key.c[0]='p'

g=0break

}

xhairs(dis.x,dis.y)

if(valid_p==1||valid_p==2||g==0)

break

}

xhairs(dis.x,dis.y)

return valid_p

}

/*------------------------------确认 *** 作------------------------*/

int do_that()

{

int valid_p=0,g=1

key.c[0]=''

while(key.c[0]!='p')

{key.i=bioskey(0)

xhairs(dis.x,dis.y)

if(!key.c[0])

arr_key(key.c[1])

else

switch(tolower(key.c[0]))

{case 'y':

key.c[0]='p'

putpixel(dis.x,dis.y,COLOR)

valid_p=1break

case 'n':

key.c[0]='p'

firstdot.x=secdot.x

firstdot.y=secdot.y

g=0break}

xhairs(dis.x,dis.y)

if(valid_p==1||g==0)

break

}

xhairs(dis.x,dis.y)

return valid_p

}

/*-----------------------------填充-------------------------------*/

void fill(int startx,int starty,int endx,int endy)

{int i,j

for(i=startxi<=endxi++)

for(j=startyj<=endyj++)

{putpixel(i,j,BLUE)

}

}

/*-----------------------------------颜色定义--------------------------------*/

void colour()

{

key.c[0]=''

setcolor(RED)

outtextxy(10,412,"R")

setcolor(GREEN)

outtextxy(40,412,"G")

setcolor(CYAN)

outtextxy(70,412,"C")

setcolor(LIGHTBLUE)

outtextxy(10,432,"L")

setcolor(MAGENTA)

outtextxy(40,432,"M")

setcolor(YELLOW)

outtextxy(70,432,"Y")

setcolor(WHITE)

outtextxy(10,452,"W")

setcolor(BROWN)

outtextxy(40,452,"N")

setcolor(LIGHTRED)

outtextxy(70,452,"D")

while(key.c[0]!='p')

{

key.i=bioskey(0)

xhairs(dis.x,dis.y)

if(!key.c[0])

arr_key(key.c[0])

else

{switch(tolower(key.c[0]))

{case 'y' : setfillstyle(SOLID_FILL,YELLOW)break

case 'r' : setfillstyle(SOLID_FILL,RED)break

case 'g' : setfillstyle(SOLID_FILL,GREEN)break

case 'c' : setfillstyle(SOLID_FILL,CYAN)break

case 'l' : setfillstyle(SOLID_FILL,LIGHTBLUE)break

case 'm' : setfillstyle(SOLID_FILL,MAGENTA)break

case 'w' : setfillstyle(SOLID_FILL,WHITE)break

case 'n' : setfillstyle(SOLID_FILL,BROWN)break

case 'd' : setfillstyle(SOLID_FILL,LIGHTRED)break

}

key.c[0]='p'}

/*-------------------------游标---------------------*/

xhairs(dis.x,dis.y)

}

xhairs(dis.x,dis.y)

floodfill(dis.x,dis.y,WHITE)

fill(6,410,149,460)

}

/*-----------------------------游标控制----------------------------*/

void arr_key(char c)

{switch(c)

{case LEFT : dis.x-=incbreak

case RIGHT : dis.x+=incbreak

case UP : dis.y-=incbreak

case DOWN : dis.y+=incbreak

case F1 : inc=1break

case F2 : inc=5break

}

}

如何在桌面上建立word应用程式和画图程式的快捷方式

开始——所有程式——micsoft office——micsoft office word(右键此项,选择传送到——桌面快捷方式)

开始——所有程式——附件——画图板(右键此项,选择传送到——桌面快捷方式)

c++应用程式

通常安装程式预设不在桌面放置图示.

故选择“开始”→“程式”→Microsoft Visual Studio 6.0→Microsoft Visual C++ 6.0,

执行Visual C++ 6.0。

将程式的开启方式选择为执行Visual C++ 6.0即可。

建立visual basic 6.0应用程式

Private Sub Form_Load()

MsgBox "程式初始化"

End Sub

c++应用程式下的的原始码怎么找

.cpp和.h档案就是原始码。

.h是标头档案。

如何建立winform应用程式

app.config档案:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<configSections>

</configSections>

<connectionStrings>

<add name=【自定义连线名】

connectionString="【SQL连线资料库字串】"

providerName="System.Data.SqlClient" />

</connectionStrings>

</configuration>

呼叫。

从app.config读取连线字串。

String connStr = ConfigurationManager.ConnectionStrings["【自定义连线名】"].ConnectionString

c++建立栈类程式程式码

呵呵,交作业吧。如下,用了模板,程式码较长,但是各种 *** 作都有,可读性也比较好,是俺自己写的。有两个,链式和顺序的,我把顺序的发给你好了。

这个是标头档案, *** 作都定义在里面了

/

Sequel Stack

/

#include <assert.h>

#include <iomanip.h>

#include <stdlib.h>

template <class Type>class Stack

{

public:

Stack( int size = 10 )

~Stack() { delete []elements}

void Push( const Type &value )

Type Pop(void)

Type GetTop(void) const

void MakeEmpty(void) { = -1}

bool IsEmpty(void) const { return == -1}

bool IsFull(void) const { return == maxSize - 1}

void Traverse(void) const

public:

int

Type *elements

int maxSize

}

Implementation of member functions

template <class Type>Stack<Type>::Stack( int size )

{

if ( size <1 )

{

cerr <<"Illegal Stack Size" <<endl

exit(1)

}

maxSize = size

= -1

elements = new Type[maxSize]

assert( NULL != elements )

}

template <class Type>void Stack<Type>::Push( const Type &value )

{

assert( !IsFull() )

elements[++] = value

}

template <class Type>Type Stack<Type>::Pop(void)

{

assert( !IsEmpty() )

return elements[--]

}

template <class Type>Type Stack<Type>::GetTop(void) const

{

assert( !IsEmpty() )

return elements[]

}

template <class Type>void Stack<Type>::Traverse(void) const

{

assert( !IsEmpty() )

for ( int i = 0i <= i++ )

{

cout <<elements[i] <<endl

}

return

}

/

以下为主函式所在档案的程式码

#include <iostream.h>

#include "sequel stack.h"

int main()

{

Stack<int>ob1(4)

ob1.Push(0)

ob1.Push(-1)

ob1.Push(3)

ob1.Push(5)

ob1.Traverse()

cout <<ob1.Pop() <<endl

ob1.Traverse()

return 0

}

单击button1在panel上动态新建了多个label,现在想要点击选择某个动态新建的label,按button2,可以把这个label删掉

在button1_Click事件中,创建label,代码:

Label lb1 = new Label()

lb1.Name = "panel"+j

lb1.BackColor = Color.Transparent

lb1.BorderStyle = BorderStyle.FixedSingle

Panel1.Controls.Add(lb1)

为这些label增加Click事件

Label lb1 = new Label()

lb1.Name = "panel"+j

lb1.BackColor = Color.Transparent


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7958211.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存