Programming/C Win32 MFC2017. 6. 21. 16:03

*(var)[width]


식으로 선언하면 될듯


[링크 : https://dojang.io/mod/page/view.php?id=312]

'Programming > C Win32 MFC' 카테고리의 다른 글

MFC 다중문서 / 단일문서  (0) 2017.07.21
MFC 다이얼로그 숨기기  (0) 2017.07.13
slider control / settic  (0) 2017.06.12
mfc 파일 경로 얻기  (0) 2017.05.30
MFC CHttpConnection timetout 설정  (0) 2017.05.29
Posted by 구차니
Programming/C Win32 MFC2017. 6. 12. 15:38

SetTicFreq()는 Tick Marks True / Auto Ticks True로 해야 한다면

SetTic()은 Tick Marks True / Auto Ticks False로 해야 한다


[링크 : https://msdn.microsoft.com/ko-kr/library/5tw28355(v=vs.100).aspx]

'Programming > C Win32 MFC' 카테고리의 다른 글

MFC 다이얼로그 숨기기  (0) 2017.07.13
2차원 배열에 대한 포인터  (0) 2017.06.21
mfc 파일 경로 얻기  (0) 2017.05.30
MFC CHttpConnection timetout 설정  (0) 2017.05.29
win32 외부 프로그램 실행  (0) 2017.05.29
Posted by 구차니
Programming/C Win32 MFC2017. 5. 30. 14:31

GetCurrentDirectory() - 작업 디렉토리

GetModuleFileNameW() - 현재 실행중인 파일의 경로+파일명


[링크 : http://egloos.zum.com/katalog/v/4637907]

[링크 : http://ds3evx.tistory.com/entry/MFC-Tip-실행-파일-폴더-구하기]



망할유니코드랑 썪이면서 혼돈의 카오스 ㄷㄷ

WCHAR pathstr[256];

GetModuleFileNameW(NULL, pathstr, 256);

PathRemoveFileSpec(pathstr); // 실행파일의 경로만 받아옴


// 실행파일과 동일 디렉토리내의 test.exe를 /h 옵션으로 실행

CString exec("test.exe");

Cstring opt("/h");

CString path(pathstr);

path = _T("\"") + path + _T("\"");

cmd.AppendFormat(_T("%s\\%s %s"),path, exec, opt);


m_ret.SetWindowTextW(cmd);

_wsystem(cmd); 


'Programming > C Win32 MFC' 카테고리의 다른 글

2차원 배열에 대한 포인터  (0) 2017.06.21
slider control / settic  (0) 2017.06.12
MFC CHttpConnection timetout 설정  (0) 2017.05.29
win32 외부 프로그램 실행  (0) 2017.05.29
cstring 'null' append 문제?  (0) 2017.05.18
Posted by 구차니
Programming/C Win32 MFC2017. 5. 29. 16:28

이것저것 찾아서 해보는데 영 안되네...


[링크 : http://forums.codeguru.com/...48863-How-to-set-timeout-value-for-CHttpFile-SendReqeust()]

[링크 : https://stackoverflow.com/questions/14986898/how-to-set-connection-timeout]



BOOL InternetSetOption(

  _In_ HINTERNET hInternet,

  _In_ DWORD     dwOption,

  _In_ LPVOID    lpBuffer,

  _In_ DWORD     dwBufferLength

); 

[링크 : https://msdn.microsoft.com/en-us/library/windows/desktop/aa385114(v=vs.85).aspx]


INTERNET_OPTION_CONNECT_TIMEOUT

2

Sets or retrieves an unsigned long integer value that contains the time-out value, in milliseconds, to use for Internet connection requests. Setting this option to infinite (0xFFFFFFFF) will disable this timer.

If a connection request takes longer than this time-out value, the request is canceled. When attempting to connect to multiple IP addresses for a single host (a multihome host), the timeout limit is cumulative for all of the IP addresses. This option can be used on any HINTERNET handle, including a NULL handle. It is used by InternetQueryOption and InternetSetOption.

[링크 : https://msdn.microsoft.com/en-us/library/windows/desktop/aa385328(v=vs.85).aspx]


cIntSession.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 3000);

[링크 : https://www.experts-exchange.com/.../How-can-I-change-the-default-timeout-of-the-CHttpConnection.html]


2007년 글이긴 한데, 해당 함수 버그로 인해 정상 작동을 하지 않는다고?

[링크 : http://soonsin.com/80]

[링크 : https://social.msdn.microsoft.com/.../cinternetsession-openurl-timeout-problem?forum=vcmfcatl]


[링크 : https://support.microsoft.com/en-us/help/177190/bug-error-12019-when-calling-internetwritefile]


+

일단 헤더에서 찾은건 아래와 같은 timeout들인데 멀 설정하던 어떤 값을 하던 7초 정도 되어야 타임아웃 된다 ㅠㅠ

  // timetout for HTTP socket

pHttpFile->SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 100);

pHttpFile->SetOption(INTERNET_OPTION_SEND_TIMEOUT, 100);

pHttpFile->SetOption(INTERNET_OPTION_RECEIVE_TIMEOUT, 100);

pHttpFile->SetOption(INTERNET_OPTION_DATA_SEND_TIMEOUT, 100);

pHttpFile->SetOption(INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, 100);

pHttpFile->SetOption(INTERNET_OPTION_LISTEN_TIMEOUT, 100);


'Programming > C Win32 MFC' 카테고리의 다른 글

slider control / settic  (0) 2017.06.12
mfc 파일 경로 얻기  (0) 2017.05.30
win32 외부 프로그램 실행  (0) 2017.05.29
cstring 'null' append 문제?  (0) 2017.05.18
MFC 시간측정(msec)  (0) 2017.04.18
Posted by 구차니
Programming/C Win32 MFC2017. 5. 29. 09:07



system(""); 

win32에서도 지원 (유닉스 계열 전용이 아니었군)

[링크 : http://rockdrumy.tistory.com/483]


다만, system()에서 실행되는 동안 멈추는 단점이 있다.

[링크 : https://msdn.microsoft.com/en-us/library/277bwbdz.aspx]


그리고 얘.. 공백 문자 경로 해결을 못하겠네?

[링크 : https://stackoverflow.com/.../how-to-overcome-spaces-in-the-path-while-passing-to-system]

[링크 : https://stackoverflow.com/.../c-system-not-working-when-there-are-spaces-in-two-different-parameters]



WinExec(cmd, SW_SHOW); 

독립된 프로세스로 구동함.

공백문자 문제 없음(따옴표 하나로 해결)


ShellExecute(NULL, _T("open"), _T("cmd"), NULL, NULL, SW_SHOW); 

얘도 독립된 프로세스로 구동



STARTUPINFO StartupInfo = {0};

PROCESS_INFORMATION ProcessInformation;

BOOL ret;

ret = CreateProcess(_T("c:\\windows\\system32\\cmd.exe"),NULL,NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo, &ProcessInformation);

if(!ret) return ;

WaitForSingleObject(ProcessInformation.hProcess, INFINITE); 

독립된 프로세스 이나 종료대기

STARTUPINFO 구조체 초기화 안해주면 오류남


+

[링크 : http://mafa.tistory.com/entry/WinExec-프로세서에서-외부-프로세스-실행하기]

[링크 : http://karfn84.tistory.com/entry/MFC-프로그램-안에서-외부-파일을-실행시키기...CreateProcess]

[링크 : http://zodd.tistory.com/322]


얘는 종료시키는 애

[링크 : https://stackoverflow.com/questions/13193719/kill-process-started-with-shellexecuteex]

'Programming > C Win32 MFC' 카테고리의 다른 글

mfc 파일 경로 얻기  (0) 2017.05.30
MFC CHttpConnection timetout 설정  (0) 2017.05.29
cstring 'null' append 문제?  (0) 2017.05.18
MFC 시간측정(msec)  (0) 2017.04.18
MFC 다이얼로그 자세히(접기)  (0) 2017.04.14
Posted by 구차니
Programming/C Win32 MFC2017. 5. 18. 20:32

솔찍히 무슨 문제가 있을지 모르겠지만

구조상으로는 CString이니까 null 로 끝나도록 하니

되도록이면 null을 추가하는건 안좋지 않을까 싶은데

msdn 문서는 안보이네


[링크 : http://stackoverflow.com/questions/5042894/is-a-cstring-always-null-terminated]

'Programming > C Win32 MFC' 카테고리의 다른 글

MFC CHttpConnection timetout 설정  (0) 2017.05.29
win32 외부 프로그램 실행  (0) 2017.05.29
MFC 시간측정(msec)  (0) 2017.04.18
MFC 다이얼로그 자세히(접기)  (0) 2017.04.14
mfc ccombobox 문자열 받아오기  (0) 2017.04.05
Posted by 구차니
Programming/C Win32 MFC2017. 4. 18. 09:39

여러가지 함수들이 있는데 msec 단위라면 이정도로 충분할 듯

typedef long clock_t;

#define CLOCKS_PER_SEC  1000 

_Check_return_ _CRTIMP clock_t __cdecl clock(void);


[링크 : http://ohpotato.tistory.com/30]


다른건 lib 링크해주고 별별 이상한걸 include 해야 하니 귀찮...

'Programming > C Win32 MFC' 카테고리의 다른 글

win32 외부 프로그램 실행  (0) 2017.05.29
cstring 'null' append 문제?  (0) 2017.05.18
MFC 다이얼로그 자세히(접기)  (0) 2017.04.14
mfc ccombobox 문자열 받아오기  (0) 2017.04.05
MFC 라디오버튼 사용하기  (0) 2017.04.05
Posted by 구차니
Programming/C Win32 MFC2017. 4. 14. 14:55

워드를 보면 이런 기능이 있는데





어떻게 구현하는거지? 고민을 했거늘...

결론은 이렇게 쉬운거였나...


karaofdec 11-04-01 09:28  

네...GetWindowRect로 해결 했습니다. 

아래와 같이 하니 상하 크기만 줄어드는 효과를 낼 수 있네요... 

CRect dialog_rc; 

this->GetWindowRect(dialog_rc); 

dialog_rc.bottom += 100; 

dialog_rc.right += 100; 

MoveWindow(dialog_rc); 

[링크 : http://www.tipssoft.com/bulletin/tb.php/QnA/19829]


+

다이얼로그에다가 직접 노가다로 이것저것 넣었다 뺏다 하는거 보다는

이렇게 창 크기를 변경하는게 유용할 듯?



+

생각난김에 동적 컨트롤 추가

[링크 : http://yowon009.tistory.com/418]

[링크 : http://www.tipssoft.com/bulletin/tb.php/update/804] << 요거

    [링크 : http://www.tipssoft.com/bulletin/tb.php/QnA/13289]


'Programming > C Win32 MFC' 카테고리의 다른 글

cstring 'null' append 문제?  (0) 2017.05.18
MFC 시간측정(msec)  (0) 2017.04.18
mfc ccombobox 문자열 받아오기  (0) 2017.04.05
MFC 라디오버튼 사용하기  (0) 2017.04.05
mfc cstring 문자열 관련(유니코드)  (0) 2017.04.04
Posted by 구차니
Programming/C Win32 MFC2017. 4. 5. 15:38

GetLBText() 로 해당 인덱스의 문자열을 받아올 수 있다.


[링크 : http://six605.tistory.com/250]


Gets a string from the list box of a combo box.

int GetLBText( 

   int nIndex, 

   LPTSTR lpszText  

) const;

 

void GetLBText( 

   int nIndex, 

   CString& rString  

) const; 

[링크 : https://msdn.microsoft.com/en-us/library/zcy9kze7(v=vs.110).aspx]

Posted by 구차니
Programming/C Win32 MFC2017. 4. 5. 14:28

MFC 에서 쓸려면

Group을 설정해야 하는데

여러개를 묶을때 처음 녀석을 Group True로 설정

그리고 나머지는 False로 하고

가장 처음 Group True로 된 녀석에게 변수를 추가해주는데

대개는 DDX 사용하도록 권장하는 듯

[링크 : http://armcc.tistory.com/67]


수작업(!)으로 하려면

라디오 버튼은 CButton을 사용하기 때문에

GetCheckedRadioButton(first, last); 메소드를 이용해서 체크된 녀석의 ID를 받아오거나

[링크 : http://toring92.tistory.com/137]


여러개의 그룹을 수작업으로

((CButton*)GetDlgItem(IDC_RADIO1))->GetCheck() 이런식으로 일일이 체크해야 할 듯 하다.

[링크 : http://stackoverflow.com/questions/1165619/mfc-radio-buttons-ddx-radio-and-ddx-control-behavior]

Posted by 구차니