본문 바로가기

쓰기

덤프텍스트 리로드시

창위치가 이동하거나, 크기가 조금씩 감소 되는점만 개선했습니다.


xp에서는 어떨지 모르겠군요.

조회 수 :
1084
등록일 :
2012.11.14
01:10:24
엮인글 :
https://arallab.hided.net/65893/9d4/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/65893

프군

2012.11.17
14:40:25

자동 업뎃목록에 안들어가나보군요 흠

프군

2012.11.17
14:49:54

제가 xp 유저인데

써보니 크기가 줄어드는 문제점이 안보이긴 하네요.

대신 크기가 좀 커지는것 같아요 ㅎㅎㅎㅎㅎㅎ

EroGame

2012.11.17
19:00:21

자동업뎃에는 들어갔습니다만...


헐.. xp에서는 커지나 보군요....OTL

테라

2012.11.26
02:22:39

오히려 나빠졌군요.

애초에 프로그래밍이 잘못된 겁니다.

void CDumpDlg::OnSize(UINT nType, int cx, int cy) 에서
  m_cEdit.MoveWindow(0,0,cx,cy); 를 m_cEdit.MoveWindow(0,0,cx - 8,cy - 58); 으로 수정

void CDumpDlg::applyOption(DWORD dOpt) 에서는

 if(dOpt&DOPT_SIZE){
  m_cEdit.MoveWindow(0,0,m_nWidth,m_nHeight);

  this->SetWindowPos(NULL,m_nLeft,m_nTop,m_nWidth,m_nHeight,SWP_NOZORDER);
 }
로 되어 있는 것을

 if(dOpt&DOPT_SIZE){
  this->SetWindowPos(NULL,m_nLeft,m_nTop,m_nWidth,m_nHeight,SWP_NOZORDER);
  m_cEdit.MoveWindow(0,0,m_nWidth - 8,m_nHeight - 58);

 }
로 수정

 

void CDumpDlg::getOption(bool isDefault) 에서는(이 부분이 최악인데. 땜빵한다고 고친게 더욱 문제를 키웠음)

 m_nTop    = _wtoi(wcstok_s(szData,L"|",&nextToken)) - 50;

 m_nLeft   = _wtoi(wcstok_s(NULL,L"|",&nextToken)) - 8;
 m_nWidth  = _wtoi(wcstok_s(NULL,L"|",&nextToken)) + 16;
 m_nHeight = _wtoi(wcstok_s(NULL,L"|",&nextToken)) + 58;

를 전부

 m_nTop    = _wtoi(wcstok_s(szData,L"|",&nextToken));

 m_nLeft   = _wtoi(wcstok_s(NULL,L"|",&nextToken));
 m_nWidth  = _wtoi(wcstok_s(NULL,L"|",&nextToken));
 m_nHeight = _wtoi(wcstok_s(NULL,L"|",&nextToken));

로 수정합니다.

 

이렇게 세부분을 고쳐주면 그나마 지금보다는 제대로 될 것임.

 

원래 원인이 m_cEdit 라는 클라이언트 영역과 CDumpDlg의 영역을 제대로 구분해서 프로그래밍하지 않은게 문제인 듯 하군요.

CDumpDlg 에는 메뉴와 그 위에 시스템바가 있어서 보통 약 52픽셀 정도를 소비하고 클라이언트 영역이 나옵니다.

이게 m_cEdit.MoveWindow를 써서 (0,0)을 지정해도 위쪽에서 약 52픽셀(윈도우 설정에 따라 다릅니다), 좌측에서 약 4픽셀 정도가

소비된 후에야 클라이언트 영역으로 잡혀서 거기부터 죄표가 (0,0)가 됩니다.

 

즉 윈도우의 상하좌우의 가는 여백과 메뉴 및 시스템바의 영역은 클라이언트 영역 밖인거죠.

 

따라서 m_cEdit의 크기는 OnSize 합수에서 입력되는 창의 크기보다 작아야 맞는거죠.

 

그런데 곳곳에서 m_cEdit.MoveWindow의 크기를 잘못 잡아주는건 물론이고 그로인해 엉뚱한 곳에서 무리해서 크기를 바꾸려고 하

다보니 전체적으로 창이 원래 위치에 안뜨거나 크기가 마구 바뀌거나 하는 겁니다.

 

솔직히 OnMove 나 OnSize 함수에서 입력받는 사이즈나 좌표도 문제의 소지가 있습니다.

 

만약 저렇게 고쳐도 사이즈와 위치가 자꾸 바뀐다면 OnMove 나 OnSize 함수에서 입력받는 값을 레지에 적는게 아니라 프로그램 종

료시 그러니까 ~CDumpDlg() 함수에서 처리하면 아마 적당할 겁니다만 하여튼 거기서 this->GetWindowPos 함수나 GetWindowRect 함

수등을 사용해서 좌표와 사이즈를 읽어와서 레지에 기록하는 방법을 사용하면 될겁니다.

 

불행히도 컴파일해서 동작을 확인 못하는게 한이 군요. 다운받은 소스는 VS2010 버젼이라 제가 쓰는 VS버젼이 구버젼이라 문제가 생

기네요. 그것만 아니면 직접 고쳐서 쓸텐데 고쳐질때까지 기다려야 하다니.....

 

뭔가 SDK 파일같은 것도 추가로 필요해 보이고 해서 직접 확인이 안되는군요.

 

여하튼 땜빵한다고 억지로 고쳐놓으신 부분때문에 상당히 놀랐네요. 윈도우 좌상단 (0,0)에 맞춰졌던 기존 세팅때문에 실행하자마자

윈도우를 옮길수도 없게 되어버린 황당한 일을 격었음.

 

마지막에 참고로 m_cEdit.MoveWindow의 -8 이니 -58이니 하는 수치는 사실 윈도우마다 설정에 따라서 변하는 값입니다. 원래는 좀

더 정확하게 하려면 윈도우 설정값을 읽어서 창의 테두리를 구성하는 비 클라이언트 영역의 픽셀값을 가져다 써야하는데 대충 위에

값이 근사치라고 치고 대충 정한 값이므로 나머지는 적당히 조정하면 될 듯.

어떤 함수를 호출하면 그걸 읽어낼수 있는데 뭐였는지 기억이 안나네요. 전에 짠 프로그램들 중에 그걸 이용한게 있는데 어떤건지

찾을수가 없는...... 하드날아간 PC에 들어있어서 소스가 날아가버린 프로그램이었던가...(멍~!)

EroGame

2012.11.26
11:06:39

(멍!)
뭐어.. 애초부터 윈도우를 움직이거나 크기 조정할때마다 레지에 값을 넣고 있던거 자체부터 영 맘에 안들었음
일단 귀찮아서 임시방편으로 윈7에서 저리해버렸습니다.(제가 사용하는데 문제없으면 됩...이란 생각으로)
나중에 다시 손보겠습니다. 데헷

EroGame

2013.01.04
02:22:41

te.png


일단 말씀하신대로 해봤지만

창이 줄어드는 현상이 돌아왔고

창은 저런모양으로 띄워지는군요....................;

첨부 :
te.png [File Size:28.1KB/Download39]
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155441   2008-08-03 2008-12-16 00:03
429 Talk 웹 계정 아이디/비밀번호 secret Hide_D 1   2011-01-02 2011-01-02 16:21
비밀글입니다.  
428 Talk CustomDic의 동작 방식에 대해서 secret Hide_D 4   2012-02-14 2012-02-14 13:36
비밀글입니다.  
427 Talk 코드정리 목록 + 코드 secret sizukana 6   2009-01-17 2009-01-17 11:41
비밀글입니다.  
426 OtherFiles 아랄코드 정리 txt [2] secret 암흑난무 27   2008-11-18 2009-01-06 01:10
비밀글입니다.  
425 Archive [플러그인] atcode 비정상 문자 출력 픽스 file Wales 201   2014-02-16 2014-02-16 21:08
 
424 Talk ATCTNR에다가 Python만 갖다 붙여도...? [1] Hide_D 280   2016-01-11 2016-01-12 01:30
ATCTNR에 몇가지 버그는 좀 있지만 이거 좀 보완하고, 인젝터 세팅가능하게 한다음에 ATCTNR + ProtocolBuffer(+gRPC) + Python 3 정도로 해서 묶으면, 꽤 재미있는 물건이 나오지 않을까 생각해봅니다 ㅇㅇ 이쪽은 Standalone으로 해볼만할 것 같기도 하고...  
423 Talk VB.NET에서 ezTransXP.dll사용하는 방법은 없나요? [1] R2D2 360   2016-06-14 2018-06-20 14:44
vb.net에서 MFC dll을 써서 이지트랜스로 번역해서 결과물을 가져오고 싶습니다. 그런데 아무리찾아봐도 방법을 모르겠습니다. Imports System.Runtime.InteropServices  Private Declare Fu*nction Translate Lib "ezTransXP.dll" (ByRef cszJapanese As Stri...  
422 Archive [플러그인,소스] ATCode, KoFilter2 테스트 버전 140301 [3] file whoami 439   2014-03-01 2014-03-02 11:59
 
421 Archive [플러그인,소스] ATCode 테스트 버전 140227 file whoami 456   2014-02-27 2014-02-27 01:59
 
420 Archive [플러그인] ATCode 150531 file TwoComet 472   2015-05-31 2015-06-07 21:30
 
419 Talk atcode.dll이 출력 못하는 글자를 수집해 봅니다. [2] file Wales 490   2014-02-05 2014-02-07 20:13
 
418 Talk 엔드 아랄호환 문제를 모두 수정했습니다 [2] kiereh 494   2014-04-28 2014-04-30 01:25
http://www.eroha.net/%ed%94%84%eb%a1%9c%ec%a0%9d%ed%8a%b8/%ec%97%94%eb%93%9c/ 오늘자 버전 (140428)으로 엔드와 아랄트랜스간의 호환 문제가 수정되었습니다. 멀티쓰레드로 번역문을 막 쏘면 문자열 포인터가 튀면서 잘못된 참조를 하던 문제, %가 들어갈...  
417 Archive [실행파일] AralTrans 130710 (7/28일자 부터 포함) file TwoComet 533   2013-07-10 2013-07-28 20:06
 
416 Archive [본체] AralTrans.exe ATCTNR.DLL 150622 [4] file TwoComet 536   2015-06-22 2015-07-25 00:12
 
415 Talk aralgood.com 도메인 부활... [7] whoami 567   2014-03-02 2014-03-17 22:48
혹시나 하고 매일 한번씩 체크하곤 하는데.. 오늘 보니 도메인이 부활했군요! 아랄님이 체크하시고 부활시키셨나? 어쨌든 그에 따라 자동업데이트도 부활하고 좋군요. 혹시 아랄님이나 Hide_D군님 보시면.. 제로보드 업데이트 하실 생각 없으신가요? 꽤 오래된...  
414 Archive [실행파일] AralTrans 130601 file TwoComet 577   2013-06-02 2013-06-02 12:04
 
413 Talk UTF-8이나 유니코드 원활한 필터처리를 위해 생각해봤는데 [5] Wales 622   2014-06-16 2014-07-29 16:39
Translate함수에 포함된 필터 전후처리를 따로 빼서 원문 전환전과 번역후에 필터 처리를 하도록 하는건데 문제는 필터들 전부 멀티바이트 중점으로 만들어지다 보니 필터 전부를 손봐야 하는 상황이 오는군요. 그래서 일단 보류중...  
412 Talk 스마트 방식과 윈7의 호환에 관한 잘못된 견해 [4] TwoComet 666   2013-07-06 2013-07-07 03:37
코드 게시글에 '스마트 방식이라 윈7에서 튕길지도 모른다'는 잘못된 인식을 불어넣는 것을 발견했기에 미리 사전에 이야기합니다. 해당사항의 정확한 원인은 아직까지 발견된 사례의 하나인 기가사나 타 브랜드에서 사용하는 넥서스 엔진에서만 해당하는 사항...  
411 Talk 정말 오래간만입니다. [5] Hide_D 694   2013-05-08 2013-07-04 04:45
중간에 폴라리스 폭파되었다는 소식 듣고 한번 들렀던 걸 제외하면 거의 1년 넘게 접속을 안하고 있었던 셈이네요 -0-;; 랩에 진행중인 과제도 있고해서 아직도 좀 바쁘긴 한데, 시간 나는데로 플러그인 관련으로 쌓인 일 좀 처리해 볼까 합니다. PS. 아직 관...  
410 Archive [플러그인,소스] KiriKiri 테스트 버전 [1] file 미소미소 711   2014-04-17 2015-02-23 21:38