MFC의 진행률 막대 학습
6198 단어 MFC
MFC , low。
, , 。 。
컨디션
프로비저닝
시스템
WIN7 SP1
IDE
VS2013
입수
1. 컨트롤 추가
인터페이스에 진행 표시줄 추가하기
2. 연관 변수
클래스 마법사 연결 변수 사용하기
CProgressCtrl m_proGress; //
클래스 마법사를 사용하지 않으면 시스템 함수에
void CDlg::DoDataExchange(CDataExchange* pDX)
추가
DDX_Control(pDX, IDC_PROGRESS, m_proGress); //
3. 초기화
VS2008과 VS2005에는 이 함수가 없을 수도 있습니다. 수동으로 추가해야 합니다. 만약 추가할 수 없다면 여기를 보십시오.일반적으로 초기화는 컨트롤의 범위를 설정하는 것과 같은 것이다.
BOOL CDlg::OnInitDialog(void)
{
CDialog::OnInitDialog();
m_proGress.SetRange(0,100);
m_proGress.SetStep(1);
m_proGress.SetPos(0);
return 0;
}
4. 프로그램 호출
void CProgressDemoDlg::OnStart()
{
for(int i = 0; i<100; i++)
{
m_proGress.SetPos(i);
//m_proGress.StepIt(); //
}
}
진급
, 。 Button , 。
。
Cthread류[나는 일을 한다(bi)]
// Thread.h
#pragma once
#include
#include
#define WM_USER_MSG WM_USER + 1001
class CThread
{
public:
//
static void Run(void *ptr);
public:
CThread(void);
~CThread(void);
};
// Thread.cpp
#include "StdAfx.h"
#include "Thread.h"
void CThread::Run( void *ptr )
{
HWND hWnd = (HWND)ptr;
for (int i=0;i<100;++i)
{
::PostMessage(hWnd,WM_USER_MSG,WPARAM(i),LPARAM(0));
Sleep(100);
}
AfxMessageBox(" ");
::PostMessage(hWnd,WM_USER_MSG,WPARAM(0),LPARAM(0));
_endthread();
}
CThread::CThread(void)
{
}
CThread::~CThread(void)
{
}
대화상자 클래스
//
ON_MESSAGE(WM_USER_MSG, &CThreadProgDlg::OnMsg)
// OnInitDialog
CProgressCtrl *prog = (CProgressCtrl *)GetDlgItem(IDC_PROGRESS1);
prog->SetRange(0,100);
//
void CThreadProgDlg::OnBnClickedOk()
{
// TODO:
_beginthread(&CThread::Run,0,this->GetSafeHwnd());
//CDialogEx::OnOK();
}
LRESULT CThreadProgDlg::OnMsg( WPARAM wp,LPARAM lp )
{
CProgressCtrl *prog = (CProgressCtrl *)GetDlgItem(IDC_PROGRESS1);
prog->SetPos((int)wp);
return 1L;
}
참고 자료:[1].MFC+ 멀티스레드 + 대화 상자 + 진행률 표시줄http://blog.sina.com.cn/s/blog_4a4839570102v5ba.html [2].MFC 진행률 표시줄 CprogressCtrlhttp://www.cnblogs.com/huhu0013/p/4434031.html [3].MfC 진행률 막대 컨트롤http://blog.csdn.net/dongpanshan/article/details/8453291 [4].MFC 컨트롤 소개 Progress Control(진행률 표시줄)http://www.zhixing123.cn/net/mfc-progress-control.html [5].MFC 프로그래밍 실례 2: 진도표 사용http://guiwenyong.blog.163.com/blog/static/16728964020112229417991 [6].MFC 진행률 막대 프로그래밍 제어http://blog.csdn.net/feidegengao/article/details/8296573 [7].MFC의 진행률 막대 색상 변경 방법http://blog.163.com/wenxianliang08@126/blog/static/83583263201412710599488 [8].MFC 신규 스레드 제어 진행률 막대【추천】http://www.cnblogs.com/greatverve/archive/2012/12/21/mfc-thread-CProgressCtrl.html [9].MFC 멀티스레드 제어 진행률 막대http://blog.csdn.net/bizhu12/article/details/6788241 [10].두 가지 라인 방식으로 진도표를 실현합니다【추천】http://blog.csdn.net/csf111/article/details/7009908 [11].MFC 멀티스레드 진행률 막대 설계【추천】http://blog.csdn.net/ztz0223/article/details/9039633
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MFC는 화면을 나눈 후 좌우 두 개의 대화상자, 즉 두 개의view 구역 관련 매개 변수로 나뉘어 설정한다.1. 모든 메뉴 막대 버튼을 CmainFrame 클래스로 정의하는 것이 좋습니다.메뉴 표시줄 단추를 다른view에 정의하고 다른view인터페이스를 클릭하면 해당 메뉴 항목이 비워지는 현상이 일어나지 않습니다.이 현상...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.