vc++在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现?

vc++我想在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现?(不是用工具条拖动控件到对话框上)

1、用程序生成控件
2、控件在对话框上准确定位

求大神指导下

4个回答

一个 CreateWindow() 就能搞定,例子很多,自己找。

定义一个CEdit变量,和一个ID号

 #define  ID_EDIT 1000
CEdit m_edit;
m_edit.Create(ID_EDIT, this);     //创建控件
m_edit.ModifyStyle( /*要去掉的属性*/,/*要加入的属性*/ , UINT nFlags = 0 );
oyljerry
oyljerry 回复牙G夜: 定位是指什么? GetWindowRect()
4 年多之前 回复
u012605582
牙G夜 谢谢,在请问下如何在建好的对话框上准确定位呢?
4 年多之前 回复

这个网上有很多,BING:mfc 动态创建控件

动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。

  一、创建动态控件:

  为了对照,我们先来看一下静态控件的创建。

  放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。

  静态控件不需要调用Create()函数来创建。

  而创建动态控件有很大不同,以下以按钮为例,看一下动态控件的创建过程:

  1.建立控件ID号:

  ID号是控件的标识,创建控件前必须先为它设置一个ID号。

  打开资源中的“String Table”,在空白行上双击鼠标,这时会弹出一个ID属性对话框,在其中的ID编辑框中输入ID,如:IDC_MYBUTTON,在Caption中输入控件标题或注解(注:Caption框不能为空,为空会导致创建失败),这里我输入的是按钮上要显示的文字--动态按钮。

  2.建立控件对象:

  不同种类的控件应创建不同的类对象:

  按钮控件 CButton (包括普通按钮、单选按钮和复选按钮)
  编辑控件 CEdit
  静态文本控件 CStatic
  标签控件 CTabCtrl
  旋转控件 CSpinButtonCtrl
  滑标控件 CSliderCtrl
  多信息编辑控件 CRichEditCtrl
  进度条控件 CProgressCtrl
  滚动条控件 CSrcollBar
  组合框控件 CComboBox
  列表框控件 CListBox
  图像列表控件 CImageCtrl
  树状控件 CTreeCtrl
  动画控件 CAnimateCtrl

  本例中我们创建一个CButton类的普通按钮。注意不能直接定义CButton对象,如:CButton m_MyBut;这种定义只能用来给静态控件定义控制变量,不能用于动态控件。

  正确做法是用new调用CButton构造函数生成一个实例:

CButton p_MyBut = new CButton();

  然后用CButton类的Create()函数创建,该函数原型如下:

BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd
pParentWnd, UINT nID );

  lpszCaption是按钮上显示的文本;
  dwStyle指定按钮风格,可以是按钮风格与窗口风格的组合,取值有:
   窗口风格:
    WS_CHILD 子窗口,必须有
    WS_VISIBLE 窗口可见,一般都有
    WS_DISABLED 禁用窗口,创建初始状态为灰色不可用的按钮时使用
    WS_TABSTOP 可用Tab键选择
    WS_GROUP 成组,用于成组的单选按钮中的第一个按钮
   按钮风格:
    BS_PUSHBUTTON 下压式按钮,也即普通按钮
    BS_AUTORADIOBUTTON 含自动选中状态的单选按钮
    BS_RADIOBUTTON 单选按钮,不常用
    BS_AUTOCHECKBOX 含自动选中状态的复选按钮
    BS_CHECKBOX 复选按钮,不常用
    BS_AUTO3STATE 含自动选中状态的三态复选按钮
    BS_3STATE 三态复选按钮,不常用
   以上风格指定了创建的按钮类型,不能同时使用,但必须有其一。
  BS_BITMAP 按钮上将显示位图
  BS_DEFPUSHBUTTON 设置为默认按钮,只用于下压式按钮,一个对话框中只能指定一个默认按钮
  rect指定按钮的大小和位置;
  pParentWnd指示拥有按钮的父窗口,不能为NULL;
  nID指定与按钮关联的ID号,用上一步创建的ID号。

  不同控件类的Create()函数略有不同,可参考相关资料。

  例:p_MyBut->Create( "动态按钮", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(20,10,80,40), this, IDC_MYBUTTON );

  这样,我们就在当前对话框中的(20,10)处创建了宽60,高30,按钮文字为“动态按钮”的下压式按钮。

  为了使创建过程更方便易用,我定义了如下函数:

显示代码打印1 CButton* CTextEditorView::NewMyButton(int nID,CRect rect,int nStyle)

2 {

3 CString m_Caption;

4 m_Caption.LoadString( nID ); //取按钮标题

5 CButton *p_Button = new CButton();

6 ASSERT_VALID(p_Button);

7 p_Button->Create( m_Caption, WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | nStyle, rect, this, nID ); //创建按钮

8 return p_Button;

9 }

  其中m_Caption.LoadString( nID )是从字符串表中读取按钮文本,这样在创建按钮ID时,应该把文本设置好,参数nStyle为除必须风格外的额外风格。

  以下,我调用该函数创建三个按钮,并指定第一个按钮为默认按钮,按钮的ID已预先设置好了:

显示代码打印1 CButton *p_MyBut[3];

2 p_MyBut[0] = NewMyButton( ID_MYBUT1, CRect(10,20,50,35), BS_DEFPUSHBUTTON );

3 p_MyBut[1] = NewMyButton( ID_MYBUT2, CRect(55,20,95,35), 0 );

4 p_MyBut[2] = NewMyButton( ID_MYBUT3, CRect(100,20,140,35), 0 );

二、动态控件的响应:

  动态控件的响应函数不能用ClassWizard添加,只能手动添加。仍以上面的按钮为例,我们制作按钮的单击响应函数。

  1.在MESSAGE_MAP中添加响应函数:

  MESSAGE_MAP表中定义了消息响应函数,其格式为:消息名(ID,函数名),当我们用ClassWizard添加函数时,会自动添加在AFX_MSG_MAP括起的区间内,如:

显示代码打印1 BEGIN_MESSAGE_MAP(CTextEditorView, CFormView)

2 //{{AFX_MSG_MAP(CTextEditorView)

3 ON_BN_CLICKED(IDC_ICONBUT0, OnIconbut0)

4 //}}AFX_MSG_MAP

5 END_MESSAGE_MAP()

  手工添加时不要添加到AFX_MSG_MAP区间内,以防ClassWizard不能正常工作,如:

显示代码打印1 BEGIN_MESSAGE_MAP(CTextEditorView, CFormView)

2 //{{AFX_MSG_MAP(CTextEditorView)

3 ON_BN_CLICKED(IDC_ICONBUT0, OnIconbut0)

4 //}}AFX_MSG_MAP

5 ON_BN_CLICKED(ID_MYBUT1, OnMybut1)

6 ON_BN_CLICKED(ID_MYBUT2, OnMybut2)

7 ON_BN_CLICKED(ID_MYBUT3, OnMybut3)

8 END_MESSAGE_MAP()

  其中ON_BN_CLICKED是按钮单击消息。

  2.在头文件中添加函数定义:

  用ClassWizard添加函数时,会在头文件的AFX_MSG区间内添加函数定义,如:

显示代码打印1 protected:

2 //{{AFX_MSG(CTextEditorView)

3 afx_msg void OnIconbut0();

4 //}}AFX_MSG

5 DECLARE_MESSAGE_MAP()

  我们模仿这种形式,只是把函数定义添加到AFX_MSG区间外就行了:

显示代码打印1 protected:

2 //{{AFX_MSG(CTextEditorView)

3 afx_msg void OnIconbut0();

4 //}}AFX_MSG

5 afx_msg void OnMybut1();

6 afx_msg void OnMybut2();

7 afx_msg void OnMybut3();

8 DECLARE_MESSAGE_MAP()

  3.编写消息响应函数:

  以上是把消息和函数关联起来了,具体在单击按钮后应做的工作在函数中完成:

显示代码打印01 void CTextEditorView::OnMybut1()

02 {

03 MessageBox( "哈!你单击了动态按钮。" );

04 }

05 void CTextEditorView::OnMybut2()

06 {

07 ……

08 }

09 void CTextEditorView::OnMybut3()

10 {

11 ……

12 }

  除了按钮的响应函数外,你还可以用上面获得的指针访问按钮,如:

  修改按钮的大小和位置:p_MyBut[0]->MoveWindow(……);
  修改按钮文本:p_MyBut[0]->SetWindowText(……);
  显示/隐藏按钮:p_MyBut[0]->ShowWindow(……);等等。

三、回收资源:

  由于动态控件对象是由new生成的,它不会被程序自动释放,所以需手工释放。在控件不再使用时可以删除它:

if( p_MyBut[0] )
delete p_MyBut[0];

  以上就是按钮控件动态生成的方法。下面,再看一下单选按钮的动态生成问题。

  四、实例:单选按钮组的动态生成

  单选按钮也属于CButton类,但由于单选按钮总是成组使用的,所以它在制作和使用上与普通按钮有一定区别。

  假设有三个单选按钮组成一组,初始时,第一个单选按钮处于选中状态。

  我们先来看静态制作方法:在对话框中放置三个单选按钮,设置属性如下:

  Radio1属性:Visible、Group、Tab stop、Auto
  Radio2属性:Visible、Tab stop、Auto
  Radio3属性:Visible、Tab stop、Auto

  这样的属性设置就把三个单选按钮分成了一组,它们一次只能有一个被选中,若对话框中还有其它成组的单选按钮,使用时也会互不干扰。但这时还没有使第一个按钮处于选中状态。

  接着就用ClassWizard为这组单选按钮添加变量,这里只需为第一个单选按钮添加变量即可。设变量名为m_Radio,类型选为int型。在构造函数中ClassWizard把m_Radio的值设置为-1,我们把它改为0,这样在运行程序时可以看到第一个单选按钮处于选中状态了。

  之后,还应该用ClassWizard为三个单选按钮添加单击响应函数,在里面修改m_Radio的值对应三个单选按钮就可以了。

  以上就是通常制作单选按钮组的办法,现我们欲改为动态生成,主要要解决按钮分组和单击控制问题。以下为制作步骤:

  1.定义三个单选按钮的ID:

  打开资源中的“String Table”,在其中添加三个ID值:

   第一个:ID为IDC_MYRADIO1,Caption为单选1
   第二个:ID为IDC_MYRADIO2,Caption为单选2
   第三个:ID为IDC_MYRADIO3,Caption为单选3

  其中Caption为按钮上要显示的文字,可根据需要设置。

  2.用CButton类的Create()函数生成三个单选按钮:

  为方便起见,先定义一个函数生成单选按钮:

显示代码打印1 CButton* CTextEditorView::NewMyRadio(int nID,CRect rect,int nStyle)

2 {

3 CString m_Caption;

4 m_Caption.LoadString( nID ); //取按钮标题

5 CButton *p_Radio = new CButton();

6 ASSERT_VALID(p_Radio);

7 p_Radio->Create( m_Caption, WS_CHILD | WS_VISIBLE | nStyle | WS_TABSTOP | BS_AUTORADIOBUTTON, rect, this, nID ); //创建按钮

8 return p_Radio;

9 }

  函数LoadString()用于从“String Table”中读取按钮文本,Create()函数中设定了单选按钮必须的属性,其中就包括了Visible、Tab stop、Auto属性。

  参数nID为单选按钮ID号,rect为单选按钮尺寸,nStyle为除必要属性外的其它属性。返回值为指向新建按钮的指针。

  有了这个函数后,创建单选按钮组时只要依次调用该函数即可,其中单选按钮组的第一个单选按钮必须指定WS_GROUP属性。

显示代码打印1 CButton *p_MyRadio[3];

2 p_MyRadio[0] = NewMyRadio( IDC_MYRADIO1, CRect(15,90,60,105), WS_GROUP );

3 p_MyRadio[1] = NewMyRadio( IDC_MYRADIO2, CRect(15,108,60,123), 0 );

4 p_MyRadio[2] = NewMyRadio( IDC_MYRADIO3, CRect(15,126,60,141), 0 );

  3.定义单选按钮组的控制变量,设置第一个单选按钮为选中状态:

  这里不能用ClassWizard添加变量,也不要在DoDataExchange()中添加控制变量,因为动态控件一开始并不存在,在DoDataExchange()中添加控制变量会造成运行错误。这里我们只需在头文件中随意定义一个int型变量作为控制变量即可,如:

int m_SelRadio;

  在构造函数中设置其初值为0:m_SelRadio = 0;

  在上面的创建按钮的语句中,用SetCheck()函数设置初始选中的按钮:

显示代码打印1 CButton *p_MyRadio[3];

2 p_MyRadio[0] = NewMyRadio( IDC_MYRADIO1, CRect(15,90,60,105), WS_GROUP );

3 p_MyRadio[1] = NewMyRadio( IDC_MYRADIO2, CRect(15,108,60,123), 0 );

4 p_MyRadio[2] = NewMyRadio( IDC_MYRADIO3, CRect(15,126,60,141), 0 );

5 p_MyRadio[m_SelRadio]->SetCheck(1); //设置第一个单选为选中状态

  在SetCheck()函数中,参数为1表示设置为选中状态,为0表示未选中状态。

  4.添加鼠标单击响应函数:

  鼠标单击某单选按钮后,其状态已经能自动改变,这里我们还需修改控制变量m_SelRadio的值,以便跟踪选中的单选按钮。

  首先在MESSAGE_MAP中把鼠标单击消息与响应函数联系起来:

显示代码打印1 BEGIN_MESSAGE_MAP(CTextEditorView, CFormView)

2 //{{AFX_MSG_MAP(CTextEditorView)

3 ON_BN_CLICKED(IDC_ICONBUT0, OnIconbut0) //ClassWizard在此处添加

4 //}}AFX_MSG_MAP

5 ON_BN_CLICKED(IDC_MYRADIO1, OnMyRadio1) //单选按钮1

6 ON_BN_CLICKED(IDC_MYRADIO2, OnMyRadio2) //单选按钮2

7 ON_BN_CLICKED(IDC_MYRADIO3, OnMyRadio3) //单选按钮3

8 END_MESSAGE_MAP()

  然后在头文件的MESSAGE_MAP中定义单击函数:

显示代码打印01 protected:

02 //{{AFX_MSG(CTextEditorView)

03 afx_msg void OnIconbut0(); //ClassWizard在此处添加

04 //}}AFX_MSG

05 afx_msg void OnMyRadio1(); //单选按钮1

06 afx_msg void OnMyRadio2(); //单选按钮2

07 afx_msg void OnMyRadio3(); //单选按钮3

08 DECLARE_MESSAGE_MAP()

09   这里注意不要把函数加在AFX_MSG区间内,以防影响ClassWizard的使用。

10   定义具体的响应函数(这里是用手工加入的,不是用ClassWizard加入的):

11   //单击单选按钮1 void CTextEditorView::OnMyRadio1()

12 {

13 m_SelRadio=0;

14 }

15   //单击单选按钮2 void CTextEditorView::OnMyRadio2()

16 {

17 m_SelRadio=1;

18 }

19   //单击单选按钮3 void CTextEditorView::OnMyRadio3()

20 {

21 m_SelRadio=2;

22 }

  5.回收资源:

  在析构函数中,回收创建的单选按钮(也可以在不使用单选按钮时立即回收):

显示代码打印1 CTextEditorView::~CTextEditorView()

2 {

3 int i;

4 for( i=0; i<3; i++)

5 {

6 if(p_MyRadio[i])

7 delete p_MyRadio[i];

8 }

9 }

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
vc++在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现?
vc++我想在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现?(不是用工具条拖动控件到对话框上) 1、用程序生成控件 2、控件在对话框上准确定位 求大神指导下
VC/MFC 基于对话框程序,在主界面上左侧有五副位图,单击位图1覆盖原主界面,显示一个另一个界面
VC/MFC 基于对话框程序,在主界面上左侧有五副位图,单击位图1覆盖原主界面,显示自定义1的界面,同理单击位图2显示自定义2的界面,用代码如何实现,请各位指教。
在MFC对话框中添加自己编写的OCX控件时出错
在MFC工具箱中添加自己编写的OCX然后把控件拖拽到对话框中添加,弹出错误信息提示: Debug Assertion Failed!Program:...les(x86)Microsoft Visual Studio10.0\Common7\IDE\devenv/.exeFile:f\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winocc.cppLine:307 然后点忽略,后运行时可以出现OCX但是这个错误是怎么回事呢
VC一个对话框的按钮控制另一个对话框的控件
我想用一个对话框的按钮控制另一个对话框的控件,那个控件在那个对话框内也有按钮能控制,能不能通过按钮控制按钮,从而按钮控制控件
关于vc++ 6.0 mfc对话框程序的问题
vc++ 6.0 mfc,将edit1中输入的字符串转换成整数,用什么语句?
如何更新vc列表控件中的数据
我建立了一个基于对话框的MFC,三个对话框—一个主对话框,一个往列表控件添加数据的Add对话框,一个修改列表控件数据的Edit对话框,怎么实现Edit对话框中修改的数据在主对话框展现呢?
VC对话框程序子对话的onPain函数实现了画线,程序启动,子对话框的画的线没有显示出来?
这是一个VC/MFC基于对话框程序 ,主对话框有一块地方加载了一个子对话框,覆盖在主对话框上,子对话的onPain()函数实现了画线的操作, 当程序启动时,子对话框的画的线没有显示出来,为什么?????? 程序代码是这样的,主对话框的OnInitDialog( ) m_buyinDlg.Create(IDD_DIALOG_BUYIN, this); CRect rectDlg; GetDlgItem(IDC_PIC_MAIN)->GetWindowRect(rectDlg);//在主对话框放置一个图片控件,在这个图片控件加载子对话框 //该函数把屏幕上指定点的屏幕坐标转换成用户坐标。 ScreenToClient(rectDlg); //定位属性页 m_buyinDlg.MoveWindow(rectDlg);
VC对话框嵌套对话框,移动不同步
在对话框A中Static控件上创建并显示对话框B,但是移动对话框A时对话框B无法跟着一起移动,一直没有解决,求各位大神帮忙!!能让对话框B随着对话框A一起移动。
MFC对话框中菜单栏如何调用子程序(一直等。。)
背景:写了个程序是分步完成的。想把程序包装好看点 主要目的:1、 多个菜单栏分别调用新对话框进行分步运算 2、运算的值能否保留或传递 程序平台: VC2008或以上的对话框程序 注意不是单文档程序 具体描述: 程序基本写完,采用几个小的对话框模块软件完成,现在想包装集成一块 主要通过多个菜单栏调用小程序完成。 注意最好不要通过直接调用外部程序的方式实现。 因为我想提高程序的效率,如:模块A运算完的结果Pline[10000][5000]数据继续保存 模块B运算前就可以直接用Pline[10000][5000]数据。 **** 例: //主程序 void CXXXXDlg::OnBnClickedButton3() { // TODO: Add your control notification handler code here CString input; CString output; double Pline[10000][5000]; } // 菜单栏响应函数 Cmydlg为自定义的对话框类(也就是要调用的子程序对话框类) void CXXXXDlg::On32774() { // TODO: Add your command handler code here**** Cmydlg Fault1; Fault1.DoModal(); //这个函数只是弹出新的对话框 新对话框里面的button按钮根本点击不了 } // 菜单栏弹出对话框 button按钮代码 希望里面可以直接用主程序里面的一些变量值 void Cmydlg::OnBnClickedButton1() { // TODO: Add your control notification handler code here CString input; CString output; double Pline[10000][5000]; } 因为对MFC消息处理方面知识不太懂,可能描述不太清楚,如有不清楚的地方我会及时说明 希望有高手可以解答!!!
vc6中MFC基本对话框形式 怎么添加png图片?
**vc6中MFC基本对话框形式 怎么添加png图片? 发个源码过来就行了 谢谢**
如何将VC++ FormView 界面中的编辑框内的数据显示到另一MFC对话框的List表格中去
我在MFC对话框中通过按钮显示数据ok,但在FormView中使用相同代码时却无法将编辑框中数据显示到对话框的List中去,请高人指教,谢谢! void CXianWeiFormView::OnBnClickedPring() { // TODO: 在此添加控件通知处理程序代码 CAddXianDanDlg Dlg; UpdateData(); CString strIncount; Dlg.m_ctrList.InsertItem(0, Si_Name); Dlg.m_ctrList.SetItemText(0, 1, Si_Pi); strIncount.Format("%d", m_count1); Dlg.m_ctrList.SetItemText(0, 2, Si_Si); Dlg.m_ctrList.SetItemText(0, 3, Si_Al); UpdateData(FALSE); Dlg.DoModal(); }
VC++MFC对话框付值,有值传过来,但就不显示
主对话框函数 if(b_RdSysID == 1) { KillTimer(1); b_RdSysID = 0; CColDatadlg *pDlg = (CColDatadlg*)AfxGetMainWnd(); pDlg ->ReadSysID(); } 当前对话框函数 void CColDatadlg::ReadSysID() { CString szStr,szTemp;//(RecBuf); CString *pPhoneNum =new CString((char*)RecBuf, 22); //将byte数组转换成cstring szStr = *pPhoneNum; szTemp = szStr.Right(19); szTemp = szStr.Right(19); MessageBox(szTemp);//此处szTemp有值显示 m_EditSysID = szTemp; //都是CString ,这里报错 // GetDlgItem(IDC_EditSystemID)->SetWindowText(szTemp);//试过没用 SetDlgItemText(IDC_EditSystemID,szTemp);//给EDIT值,EDIT仍没变化为空 UpdateData(false); }
mfc对话框字体突然变得粗黑
在win7中用vc++6.0写的mfc程序,一运行的主对话框字体是正常的,点击按钮弹出对话框之后字体就变成又粗又黑了。写了很多个mfc程序都是这样,不知道怎么回事,怎么解决,求大神指点。![CSDN移动问答][1] [1]: http://pic1.xihuan.me/edr/680__/t019a58ccda97bb24b0.jpg
VC 非模态对话框为何总是置顶显示
小弟遇到一个问题,不知道谁能帮忙解决一下,先谢谢啦~ 我的单文档程序,点击按钮后生成一个非模态对话框,可是对话框一直是显示在前端,当我鼠标点在单文档程序上进行操作时,对话框一直挡在前面,这点让我不能理解啊,因为活动窗口是主窗口了啊,怎么让主窗口可以显示在对话框之上呢??不知道哪位大神能指点一下的
MFC对话框CEDIT插入当前时间
VC++ MFC如同记事本中的功能一样,在当前光标里插入一个日期时间,怎么做呢?
VS2010对话框程序最多添加255个控件!!!超过之后有什么影响吗?
如题,用的VC6.0对话框程序,所有的控件都在一个界面上,需要显示的显示出来,其他的隐藏。 但在添加到255个控件以后就出现无法添加的现象,于是在VS2010对话框程序上做了实验,可以添加很多控件,但是系统会提示你只能添加255个,过多会显示不完整!!! 小白想请教大神们一个问题,超出255个可以正常使用吗?对程序的危害有哪些???谢谢了!!!
VC中的MFC的基本对话框之间的调用如何始终保持一个对话框
比如说两个对话框,现在对话框A中点击B按钮就弹出了B对话框,但是A对话框没有消失,AB对话框同时存在,如何实现弹出B对话框之后A对话框就自己退出。也就是说始终保持一个对话框
请问当SQL Server数据库中数据有更新的时候,如何通知到MFC上?
编程环境VC6.0,在MFC对话框中添加了一些控件,并且能够显示数据库中内容, 使用的是CRecordSet类,读取完数据库后就调用Close关闭数据库了。 我想请问的是,如何实时的显示数据库内容? 或者当数据库数据有变更的时候才显示到 MFC的控件上?
如何使对话框里的EDIT控件响应键盘的回车键???
我想解决的问题是: 在VC++程序中,向Edit控件中输入数据,然后敲击回车,就把输入的数据输送给其他文件。 想问问大家有没有程序实例或者解题思路?????
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
《阿里巴巴开发手册》读书笔记-编程规约
Java编程规约命名风格 命名风格 类名使用UpperCamelCase风格 方法名,参数名,成员变量,局部变量都统一使用lowerCamelcase风格 常量命名全部大写,单词间用下划线隔开, 力求语义表达完整清楚,不要嫌名字长 ...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
Python绘图,圣诞树,花,爱心 | Turtle篇
1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
Linux 命令(122)—— watch 命令
1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 [1] watch(1) manual
Linux 命令(121)—— cal 命令
1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 [1] cal(1) manual
记jsp+servlet+jdbc实现的新闻管理系统
1.工具:eclipse+SQLyog 2.介绍:实现的内容就是显示新闻的基本信息,然后一个增删改查的操作。 3.数据库表设计 列名 中文名称 数据类型 长度 非空 newsId 文章ID int 11 √ newsTitle 文章标题 varchar 20 √ newsContent 文章内容 text newsStatus 是否审核 varchar 10 news...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告(本文) 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
立即提问