如何自己做一个c 界面库库

想做一个简单数据库系统,带界面,如何下手?具体步骤?-学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
想做一个简单数据库系统,带界面,如何下手?具体步骤?
来源:互联网 发表时间: 16:18:28 责任编辑:王亮字体:
为了帮助网友解决“想做一个简单数据库系统,带界面,如何下手?具体步骤?”相关的问题,学网通过互联网对“想做一个简单数据库系统,带界面,如何下手?具体步骤?”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:想做一个简单数据库系统,带界面,如何下手?具体步骤?,具体解决方案如下:解决方案1:web server:netbox,使用方便语言:asp,入手容易数据库:access,界面操作,无需密码,操作简单。第二步,新建一个用户表,username char(20)password char(20)添加数据,admin mypassword第三步,新建登录界面,文件名 login.asp请输入用户名请输入密码 新建loginaction.aspalert(&密码错误!&)wi旦乏测何爻蛊诧坍超开ndow.location=&index.asp&;alert(&用户名错误!&)
1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
<a href="/cse/search?q=<inputclass="s-btn"type="submit"text="<inputclass="s-btn"type="submit"text="<buttonhidefocusclass="s-btnjs-ask-btn"text="我要提问
<a href="/cse/search?q=怎样做好一份界面设计师简历?_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
怎样做好一份界面设计师简历?
||暂无简介
总评分3.5|
浏览量208396
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢Photoshop制作一张简洁大气的个人信息界面_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Photoshop制作一张简洁大气的个人信息界面
上传于||暂无简介
阅读已结束,如果下载本文需要使用3下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩13页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢2012年 总版技术专家分年内排行榜第一
2013年 总版技术专家分年内排行榜第七2011年 总版技术专家分年内排行榜第五2009年 总版技术专家分年内排行榜第九
本帖子已过去太久远了,不再提供回复功能。C++ world(32)
这是一个窗口类,调用方法是:
&#43;&#43;&#43;&#43;&#43;&#43;
wxString fontname = new_tab_-&GetFontName();
//wxT(&System&);
DlgFontName *dlg_fontname = new DlgFontName(this,fontname);
if (dlg_fontname-&ShowModal() == wxID_OK)
fontname = dlg_fontname-&GetFontName();
dlg_fontname-&Destroy();--------
&#43;&#43;&#43;&#43;
file : dlg_fontname.h/cpp
function : a select fontname of dialog.
return : fontname
#pragma once
#include &wx/wx.h&
#include &wx/listctrl.h&
class DlgFontName : public wxDialog
DECLARE_DYNAMIC_CLASS(DlgFontName)
//在CPP里面,需要将控件ID和事件绑定
DECLARE_EVENT_TABLE()
/********************************************
初始化窗体函数
传递参数:font_name (default is nothing)
DlgFontName *dlg_fontname = new DlgFontName(this);
********************************************/
DlgFontName(wxWindow* parent,
const wxString& fontname = wxT(&System&),
wxWindowID id = wxID_ANY,
const wxString& caption = wxT(&Font&),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style =wxCAPTION | wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER
/***************************************************
关闭窗体时执行的函数
****************************************************/
~DlgFontName(void);
/***************************************************
使用鼠标选中 CListBox 的一行
****************************************************/
void OnSelectedListBox(wxCommandEvent& event);
//Get FontName
const wxString GetFontName();
//选择ListBox中的一行 by fontname
bool SetSelectedInListBox(const wxString& fontname,wxListBox *listbox);
wxString m_
/***************************************************
初始化窗口
****************************************************/
bool Create(wxWindow* parent,
wxWindowID id,
const wxString& caption,
const wxPoint& pos,
const wxSize& size,
long style);
/***************************************************
在创体上生成控件
***************************************************/
void CreateControls();
/***************************************************
给控件ListBox填充FontNames
***************************************************/
wxArrayString GetAllFontNames();
/**********************************************
从主界面得到一个fontname,然后让text得到并且让listbox选中1行
**********************************************/
void Init();
//Set FontName
void SetFontName(const wxString& fontname);
//当用户点击窗口右上角的close小按钮时,发生的事件
void CloseFontNameDlg(wxCloseEvent &event);//void handlerFuncName(wxCloseEvent& event)
/***************************************************
***************************************************/
// 声明控件的ID,主要是为了和控件的事件绑定
ID_ListBox_FontName,
ID_TextCtrl_FontName
// 控件名称
*m_listbox_
wxTextCtrl *m_text_
以上是窗口1类H文件
&#43;&#43;&#43;&#43;
#include &wx/fontenum.h&
// 得到所有 FontNames
#include &Dialog/dlg_fontname.h&
IMPLEMENT_CLASS(DlgFontName, wxDialog)
// 将控件ID和事件绑定
BEGIN_EVENT_TABLE(DlgFontName, wxDialog)
EVT_LISTBOX(ID_ListBox_FontName, OnSelectedListBox)
EVT_CLOSE(CloseFontNameDlg)
END_EVENT_TABLE()
// 调用本类,生成窗体时,需要执行这个函数
DlgFontName::DlgFontName(wxWindow *parent,
const wxString& fontname,
wxWindowID id,
const wxString& caption,
const wxPoint& pos,
const wxSize& size,
this-&m_fontname = &&;
SetFontName(fontname);
Create(parent, id, caption, pos, size, style);
//释放窗体时,执行这个函数
DlgFontName::~DlgFontName(void)
//private:生成窗体(最基本的框架,上面有关闭按钮,其他没有)
bool DlgFontName::Create(wxWindow* parent,
wxWindowID id,
const wxString& caption,
const wxPoint& pos,
const wxSize& size,
long style)
//设置窗体风格
SetExtraStyle(wxWS_EX_BLOCK_EVENTS);// | wxDIALOG_EX_CONTEXTHELP
wxString str_caption = &Font&;
//设置不重复打开窗体
if (!wxDialog::Create(parent, id, str_caption, pos, size, style))
//生成窗体里的控件
CreateControls();
//自动改变大小
GetSizer()-&Fit(this);
GetSizer()-&SetSizeHints(this);
//窗体居中
// 设置生成控件后,初始化fontname的值,有时候为&&
void DlgFontName::Init()
if(NULL != this-&m_listbox_fontname)
this-&m_fontname = GetFontName();
bool if_existed = SetSelectedInListBox(m_fontname,this-&m_listbox_fontname);
if(if_existed && (NULL !=m_text_fontname))
this-&m_text_fontname-&SetLabel(m_fontname);
//private:声称控件,在窗体:全部控件,都是可以随着窗口的大小缩放而变化,所以每个控件没有具体坐标
void DlgFontName::CreateControls()
//窗体的自我缩放控件
wxFlexGridSizer *gSizer_all = new wxFlexGridSizer(3, 1, 0, 0);//控件有3行 1列
//这里只让 0行1列的ListBox缩放
gSizer_all-&AddGrowableCol(0);
gSizer_all-&AddGrowableRow(1);
gSizer_all-&SetFlexibleDirection(wxBOTH);
//第一行:增加一个自我缩放控件 ++++++++++++++++++++++++++++++++++++++++++++++++++++
wxFlexGridSizer* gSizer_row1 = new wxFlexGridSizer(1, 2, 0, 0);
//控制缩放的控件,按照控件的作为位置来控制,例如,第1行第2列的控件,需要跟着一起缩放,那么一下就需要写这个坐标
gSizer_row1-&AddGrowableCol(1);
// 增加 2 列 (同时,让控件一起缩放)
gSizer_row1-&AddGrowableRow(0);
// 增加 1 行
gSizer_row1-&SetFlexibleDirection(wxBOTH); //这里控制的是 filter_text 控件
//生成标签 &Font : &
wxStaticText* filter_label = new wxStaticText(this, wxID_ANY,
wxT(&Font:&), wxDefaultPosition, wxDefaultSize, 0);
//生成编辑框 FontName
m_text_fontname = new wxTextCtrl(this, ID_TextCtrl_FontName);
gSizer_row1-&Add(filter_label, 1, wxALL | wxEXPAND, 5); //最有相距5 (与控件)
gSizer_row1-&Add(m_text_fontname, 1, wxALL | wxEXPAND, 5);
//最有相距5
//------------------------------------------------------------------------------
//将这个自动缩放控件,放入到第一个自我缩放控件里面,这样才能随着一起变动
gSizer_all-&Add(gSizer_row1, 1, wxUP | wxRIGHT | wxLEFT | wxEXPAND,10);
//上面的 10 表示 上面2个控件间距之和 = 5+5 = 10
//增加一个ListBox控件
m_listbox_fontname = new wxListBox(this, ID_ListBox_FontName,
wxDefaultPosition, wxDefaultSize,
GetAllFontNames(), wxLB_SINGLE);
//这里设置大小,但是其他的控件,会跟着这个控件大小自我调节,不用担心
this-&m_listbox_fontname-&SetInitialSize(wxSize(300, 300));
//直接将ListBox控件放在总缩放控件里面
gSizer_all-&Add(this-&m_listbox_fontname, 1, wxRIGHT | wxLEFT | wxEXPAND, 15); //最后一个数字 :表示左右边距
//这里的 15 表示 上面控件 10 缩放 + 左边第一个控件的缩放 5 = 10 + 5 = 15
//以下增加 1个标签 1个Text +++[保存这里,以备后用]++++++++++++++++++++++++++++++++++++++
//wxFlexGridSizer* gSizer3= new wxFlexGridSizer(1, 2, 0, 0);//1行2列
//gSizer3-&AddGrowableCol(1);
//gSizer3-&AddGrowableRow(0);
//gSizer3-&SetFlexibleDirection(wxBOTH);
//wxStaticText* target_label = new wxStaticText(this, wxID_ANY,
wxT(&Target:&), wxDefaultPosition, wxDefaultSize, 0);
//target_text_ = new wxTextCtrl(this, wxID_ANY);
//gSizer3-&Add(target_label, 1, wxALL | wxEXPAND, 4);
//gSizer3-&Add(target_text_, 1, wxALL | wxEXPAND, 4);
//gSizer1-&Add(gSizer3, 1, wxUP | wxRIGHT | wxLEFT | wxEXPAND, 8);
//---------------------------------------------------------------
//生成按钮组:准备在里面增加2个按钮
wxBoxSizer* button_box = new wxBoxSizer(wxHORIZONTAL);
//Add Button : OK
wxButton* ok = new wxButton(this, wxID_OK, wxT(&&OK&), wxDefaultPosition, wxDefaultSize, 0);
button_box-&Add(ok, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5); // 5 表示与上面控件的距离
//Add Button : Cancel
wxButton* cancel = new wxButton(this, wxID_CANCEL, wxT(&&Cancel&),wxDefaultPosition, wxDefaultSize, 0);
button_box-&Add(cancel, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 5);// 5 表示与上面控件的距离
//将按钮组增加到总缩放控件里面
gSizer_all-&Add(button_box, 1, wxRIGHT | wxLEFT | wxALIGN_RIGHT, 10);//最后一个数字:表示与右边边界的距离
// 以上最后数字是上面 5 + 5 = 10 这样保证与右边的边对齐
// 自动缩放
SetSizer(gSizer_all);
void DlgFontName::OnSelectedListBox(wxCommandEvent& event)
int iSelected = event.GetSelection();
wxString value = wxT(&&);
value = this-&m_listbox_fontname-&GetString(iSelected);
this-&m_text_fontname-&SetLabel(value);
SetFontName(value);
wxArrayString DlgFontName::GetAllFontNames()
wxFontEnumerator myF
wxArrayString strFontN
wxFontEncoding encoding = wxFONTENCODING_DEFAULT;//wxFONTENCODING_SYSTEM;
strFontNames = myFonts.GetFacenames(encoding,false);
int iFontCount = strFontNames.size();
wxArrayString strFontNames_H;
wxString strFontN
//去掉&@&开头的字符串 (不要FontName竖向的,因为要使用到网页中)
for(int i=0;i&strFontNames.size();i++)
strFontName = strFontNames[i];
if(strFontName.Find(&@&)&0)
strFontNames_H.Add(strFontName);
strFontNames_H.Sort();
return strFontNames_H;
const wxString DlgFontName::GetFontName()
void DlgFontName::SetFontName(const wxString& fontname)
m_fontname =
bool DlgFontName::SetSelectedInListBox(const wxString& fontname,wxListBox *listbox)
bool if_existed=
wxString str_fontname=&&;
if(!fontname.IsEmpty())
for(int i=0;i&listbox-&GetCount();i++)
str_fontname = listbox-&GetString(i);
if(fontname == str_fontname)
listbox-&SetSelection(i,i);
if_existed =
return if_
void DlgFontName::CloseFontNameDlg(wxCloseEvent &event)
EndModal(wxID_OK); // 执行wxID_OK事件,这是一个默认值
窗口1类CPP文件
--------------
以上测试成功!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:51921次
积分:1287
积分:1287
排名:千里之外
原创:78篇
转载:10篇
评论:10条
(7)(5)(5)(5)(19)(8)(8)(6)(6)(6)(9)(4)}

我要回帖

更多关于 duilib界面库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信