창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


질문게시판
- 반드시 검색을 하신 후 원하는 답변을 찾을 수 없을 때, 질문을 올려주세요.


LIST ALL
Posted by 김길남2006-12-22 17:25:06, Hit : 4141
이미지로 토글버튼 만들기 가 가능 할까요?
Homepage : http://infomasi.com
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=qna&no=1735

이제 도움말을 보면 조금 눈에 들어오고 이해도 되는것도 있군요,,,

암튼 알아야 전체적인 디자인이나 구현범위도 기획할텐데요,,,

소스자료는 70% 정도 다운받아 서 열어 본듯합니다 ㅎㅎ
그랬더니 제가원하는 항상위 소스가 있더군요,,,
API 이용하는거요,, 어찌나 기쁘던지,,그밖에 공부 많이 됬구요,,

근데 현제 맨위 상태이면 이미지 버튼이 상태가 불이 켜지고
맨위가 해제 되면 불이 꺼지는 그런것도 가능 하겠지요?
단순히 버튼을 음각->양각으로 처리 하는건 모양세가 좋지 않아서요,,

버튼{
만일 버튼을 클릭했을때
이런일을 해!!
그리고 이미지를 칼라로 변경해,,,
또,,다른메뉴를 통해서 (가령환경설정) 같은데서 이걸하도록 되 있으면 이미지를 칼라로 표시해,,,

한번 더 눌렀을때는
이런일을 해,,,
그리고 모노톤 이미지로 바꿔,,,
또 다른메뉴를 통해서 하지말라고 했으면 이미지를 모노로 표시해,,또는 다른그림으로 표시해}

이런식으로 이미를 변경하면서 버튼을 만들 수 있겠지요?
힌트라도 주시면 감사 하겠습니다,,

아울러서
다음명령어 ..창맨위로 올리는 API 방식입니다..

실수 HWND_TOPMOST, SWP_SHOWWINDOW;
HWND_TOPMOST := 4294967295;
SWP_SHOWWINDOW := 64;
api.setwindowpos(창0.핸들, HWND_TOPMOST, 창0.좌변, 창0.윗변,창0.폭, 창0.높이, SWP_SHOWWINDOW);

이걸 다시 맨위를 해지 할려면 어떤명령어가 있나요?
설마 맨위로 했으니까 해지 하는것도 있겠지요?

감사 합니다~^^


김길남   2006-12-22 PM 6:15:59  
동적생성,,, 그중에 동적이미지 생성을 이용하는것도 하나에 답이 될 수 있나요?
박종훈   2006-12-22 PM 6:21:21  
안녕하세요~^^
API를 사용하셔서 하시군요ㅋ

항상위 창을 보통창으로 만드는, 방법입니다^^..
[방법과 소스를 알려드리겠습니다.]

방법 :
HWND_TOPMOST를..
HWND_NOTOPMOST를 사용하세요~^^
이것은, 항상위 창의 옵션을 해재하는 겁니다^^..
[HWND_NOTOPMOST의 상수는, -2 이며, 양수형태로 바꾸자면,
4294967294 입니다^^..]

이해가 안가셨죠? [헤헤; 죄송합니다ㅠ]
이 설명은, 어느정도 아신뒤에, 다시 한번 봐주세요~

그러면, 소스 들어갑니다^^;
실수: HWND_NOTOPMOST, SWP_SHOWWINDOW;
HWND_NOTOPMOST := 4294967294;
SWP_SHOWWINDOW := 64;
api.setwindowpos(창0.핸들, HWND_NOTOPMOST, 창0.좌변, 창0.윗변,창0.폭, 창0.높이, SWP_SHOWWINDOW);
손상진   2006-12-22 PM 6:24:30  
이걸 어떻게 설명해드려야겠는지.. 난감하네요. ^^;;

일단 API설명부터 SetWindowPos는... 함수명을 풀리하자면
윈도우의 포지션을 세팅하는 함수입니다.
이함수의 원형은
BOOL SetWindowPos(
HWND hWnd, // handle of window
HWND hWndInsertAfter, // placement-order handle
int X, // horizontal position
int Y, // vertical position
int cx, // width
int cy, // height
UINT uFlags // window-positioning flags
);
이렇게 생겼습니다.

첫번째 인자(HWND hWnd)는 말그대로 핸들 오프 윈도우. 대상 창의 핸들을 적어주시면되고요.(예: 창0.핸들)
두번째 인자(HWND hWndInsertAfter)는 위 대상창의 위치를 정해주는건데요, 아들관계를 정의하거나 창와 Top-Level을 지정해줄 수 있어요
Top-Level지정에는 4가지 옵션이 있습니다.
HWND_BOTTOM, HWND_NOTOPMOST, HWND_TOP, HWND_TOPMOST

여기서 설명해야할것이 상수에 대한 개념인데요. 창조에서는 완벽하게 존재하는 개념이 아니라서 설명하기가 좀 힘들긴 하네요.
함수로 어떤 설정값을 보낼때 문자로 하면 용량이 커서 난감합니다. 그래서 숫자로 하는데.. 모 예를들어(예입니다) 1을 넣으면 항상위로해라 2를 넣으면 항상위를 해제하라 이런식으로.. 근데 숫자로 하면 프로그래머가 1이 모고 2가 몬지 알아보기 힘들죠.. 그래서 상수를 사용합니다. 상수란 어떤한 수를 문자로 정의하는건데요 예를들어 TWO를 2로 상수정의해두면 TWO + 3 은 5가 되는거죠. 컴퓨터는 알아서 저 문자를 정의해둔 수로 인식하게 됩니다.
위에 있는 HWND_TOPMOST같은것도 상수입니다. 다 각자의 수가 있는거죠.. 근데 창조에는 이게 미리 정의되어있지 않아서, 함수 인자에 직접 수를 써주던지, 아니면 변수를 이용해서 정의해준겁니다.

실수 HWND_TOPMOST, SWP_SHOWWINDOW;
HWND_TOPMOST := 4294967295;
SWP_SHOWWINDOW := 64;
이렇게 변수를 이용해서 정의해줬습니다. 위 님께서 쓰신 글의 예제에서는..

다음 3번째부터 6번째 인자까지는 창의 좌변, 윗변, 폭, 높이 입니다.
그다음 7번째 인자(UINT uFlags)는 플래그라고 하는데요. 어떻게 설명해야하나.. 흠.. 기능에 대한 스위치? 라고 대충 설명할 수 있겠는데요..여기에도 상수를 써서 설정해줍니다.
위에서는 SWP_SHOWWINDOW를 썼는데요 SWP_SHOWWINDOW는 64란 수로 정의되어있는 상수입니다.
SWP_SHOWWINDOW는 창을 보이라는 플래그입니다.
반대로 작동하는 SWP_HIDEWINDOW(수로는 128)도 있습니다.
그리고 위에서 사용할수 있는것 두개를 소개하겠습니다.
SWP_NOSIZE(수로는 1)와 SWP_NOMOVE(수로는 2)입니다.
SWP_NOSIZE는 말그대로 사이즈를 바꾸지 않겠다(한마디로 인자에 써준 사이즈값을 사용하지 않겠다.)
SWP_NOMOVE는 창을 움직이지 않겠다(한마디로 인자에 써준 위치값을 사용하지 않겠다.) 입니다.
이 두 플래그를 써주면 3번째부터 6번째 인자에 0만 채우셔도 됩니다.

위에서 설명한대로 사용해서 창의 항상위를 해제하는걸 써보면..

실수: HWND_NOTOPMOST, SWP_NOSIZE, SWP_NOMOVE;
HWND_NOTOPMOST := 4294967294;
SWP_NOSIZE := 1;
SWP_NOMOVE := 2;
api.SetWindowPos(창0.핸들, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE);

이렇게 됩니다.

SetWindowPos에 대한 자세한 정보는...
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/setwindowpos.asp
MSDN라이브러리 입니다.
손상진   2006-12-22 PM 6:29:07  
제가 위에서 썼듯이.. 상수는 수입니다.. 그래서 직접 수로 써줄수도있는데 직접 써주면 실수변수를 선언하는 귀차니즘(?)이 없어지겠지만 나중에 알아보기는 힘들겠죠.. 제 뎃글중 마지막에 있는 소스 5줄을 상수를 직접 수를 쓰는걸로 바꿔보면..

api.SetWindowPos(창0.핸들, 4294967294, 0, 0, 0, 0, 1+2);

이렇게 됩니다.
김길남   2006-12-22 PM 6:39:08  
제가 공부를 해서 그럴까요? 우째 이리 잘 들어 올까요,,,
아이고 나 대견하다,,,가 아니고^^
다는 이해는 못해도 개념이 이해가 되니 너무 속도 편안하고
고마울 따름입니다,,,^^
손상진   2006-12-22 PM 6:43:21  
이해가 되셨다니.. 맘놓이네요^^;
박종훈   2006-12-22 PM 10:02:48  
네~ 일단, 김길남님의 열정에 감동했습니다^^..
아참, 저의 이야기를 살짝하자면;

예전에는 이해가 안되던 소스가.. 실력이 올라서! 이해가 된다면..
정말 뿌듯하죠~^^
정성우   2006-12-22 PM 10:22:37  
전에 이 항상위 API 쓰려다 보통 위치로 되돌리는 걸 몰라서 쓰는 걸 포기했었는데... 이제 알게 되서 다행이네요 ^^;;
박종훈   2006-12-23 AM 7:55:47  
아.. 저는, ㅎ창.창형식 속성만 쓰는 바람에;
[이 문제는 생각해 본적이 거의 없는데; 오늘 이렇게 ^^]
김길남   2006-12-26 PM 1:43:45  
체크박스는 이미지 전환이 쉽게 가능하네요,,,
아직 정확안 원리는 모르겠구요,,
지상현   2006-12-26 PM 6:31:43  
플래그 변수라는 것으로 이것을 해결할 수 있습니다.
아무 변수나 선언해놓고 (이미지) 버튼의 눌림 상태를 이 변수에 보관하고, 눌림 상태에 따라 알맞는 이미지로 바꾸면 됩니다.
따로 변수를 선언하는 부담이 있다면, 모든 객체에 있는 속성인 "찌끼"를 참고해보세요. 객체 동작에 아무런 영향을 미치지 않지만 이와 같은 경우를 위해 마련된 속성입니다.
정성우   2006-12-26 PM 9:51:01  
단지 토글버튼을 꾸미기 위한 거라면
http://cugz.com/bbs/zboard.php?id=pds_etc&no=653
체크박스에 이미지를 씌워 쓰는 것도 좋은 방법입니다.
김길남   2006-12-27 AM 3:16:23  
네 정성우님 감사 합니다,,
워낙 초보자라 보고도 모르는 경우가 많습니다,
체크박스가 무지 간편하게 이미지 전환이 가능합니다만,,
아직도 해결되지 못한 부분이 체크박스 색상이 투명하게 되지 않음에 절망이,,, 즉 이미지는 투명하게 지원되나,, 체크박스 객체에 자체 배경색이 있음으로 해서,, 아름답고 편안한 디자인에 걸림돌이 되네요,,
정성우   2006-12-27 PM 7:43:08  
김길남//
체크박스에도 배경 투명이 가능합니다.
이미지의 맨 처음 픽셀(1x1)에 있는 색이 투명이 되는 색으로 알고 있습니다. 그러니까 투명으로 만드려는 공간에 그 색을 채우면 되겠죠?
김길남   2006-12-27 PM 9:35:58  
정성우님,,, ~~ ㅎㅎ
얼른 테스트 해볼께요 ㅎㅎ
김길남   2006-12-27 PM 9:51:33  
절망입니다,,,
이미지의 첫픽셀의 색이 투명하게 되는건 맞습니다.
그러나 여기서 문제되고 있는
그 라디오버튼 자체의 색상은 투명하게 되지 않네요,,
이미지의 특정색은 투명하게 됩니다만,,,
전 이미지의 처음픽셀색하고 같이 라디오버튼 색상을 지정해주면
라이오버튼 색상도 투명해지는 줄 알았습니다.

두번째 한계라면,,
이미지 크기도 제한이 있네요?
이미 가로세로 크기가 정해저 있나봐요,,,
사용할 이미지의 크기를 크게 하고 그것이 다 나오게 할 수는 없는거지요?
정성우   2006-12-28 PM 3:59:05  
두번째 한계는, 라디오버튼 속성중 높이와 폭을 적당이 조절하면,... 될 듯 한데;;;
이거 참 난감한 문제네요...
김길남   2006-12-28 PM 5:46:50  
크기에 제한이 없다는걸 확인하고 달려오는길입니다.
버튼의 크기는 사용되는 전체 크기의 비율에 의해서 자동으로 책정되네요,,
확실하진 않지만 사용되는 이미지의 폭의 1/4 크기가 출력되는 가로크기 세로의 크기가 되는것으로 판단 됩니다.

그리고 투명색의 기준이 맨 좌위 색상이 투명이 되는것이 아니고
맨 좌아래측 측에 색상이 투명이 되는데,.. 맞나요?
김길남   2006-12-28 PM 5:55:14  
그런데 우째 1/2 가 아니고 1/4 까요?
혹 체크박스에 참 거짓이 아니고 다른경우수도 만들수 있다는 것일까요?
박종훈   2006-12-28 PM 7:31:11  
체크박스의 참과 거짓,
그리고 ...
체크박스의 체크, 체크X

이렇게 해서, 4가지의 경우이어서, 1/4 등분이 되는겁니다.
그리고, 투명색이 대한 것은, 잘 모르겠네요^^;

암튼, 가장 가생이[가장자리..]의 색상이 투명색이 되는 것은 확실한듯 합니다.
[가생이란.. 가장자리의 충청도 방언-_-;]
지상현   2006-12-29 AM 3:06:44  
확실히 선택상자에 선택, 선택 안함, 일부 선택 이렇게 3가지 상태가 있는 경우가 있습니다.
읽기 전용인 파일과 그렇지 않은 파일을 둘 다 선택하고 파일 등록 정보를 보시면 읽기 전용 선택상자에서 3번째 상태를 보실 수 있습니다. ^^
뭐, 창조에 있는 선택상자는 그것까지 지원해주는건 아닌것 같습니다.
LIST ALL               GO TO THE TOP


N
Category
   Subject
Posted by
Date
H
1458 창조
   이번엔... [3]
하루짱 2009/12/17  5085
1457 창조
   이번엔 글꼴창, 인쇄창 문의입니다! [1]
靑色糖™ 2002/11/14  3425
1456 창조
   이번에도 또!! 창조에서 무한루프 못돌려여? [2]
이경근 2003/01/03  3224
1455 창조
   이미지와 메모글 미리보기 방법_쉬운 질문 [1]
신용주 2009/02/22  3703
1454 기타
   이미지에서 RBG추출[VB] 창조로 사용하려면..? [7]
권선중 2005/08/24  4318
1453 창조
   이미지복사해 넣을때 투명도를 줄수없을까요? [2]
권선중 2010/07/17  4672
창조
   이미지로 토글버튼 만들기 가 가능 할까요? [21]
김길남 2006/12/22  4141
1451 창조
   이미지4개 한꺼번에 프린터 하기 [9]
강철중 2009/07/05  3458
1450 창조
   이미지 파일 리사이즈 [12]
oOPpoYaOo 2006/02/17  2748
1449 창조
   이미지 파일 로딩 질문 [1]
임민혁 2009/11/12  3781
1448 창조
   이미지 사이즈 조절 후 저장 [5]
신용주 2010/02/27  3763
1447 창조
   이미지 문제...... [5]
『이경석』 2005/09/24  3132
1446 창조
   이름표의 글자색을..지정된색 말고.. [3]
이시영 2004/07/16  3013
1445 창조
   이름표0,제목 에서 부분문자 색상
날아라KTX 2017/10/26  2247
1444 창조
   이름표....질문 받아주세요.. [5]
강정훈 2006/12/24  3302
1443 창조
   이렇게 하면 창조에서도 업로드가 될거같은데.. [2]
박재성 2009/01/30  3094
1442 창조
   이럴떈 어떻게하나요? [2]
김지우 2009/11/07  3688
1441 기타
   이런질문해도 될런지.... [8]
이영선 2004/07/15  3481
1440 창조
   이런것도 창조로 가능한가요? [5]
철희 2006/02/06  2798
1439 창조
   이런것도 가능한가요? [2]
에일리언 2003/01/14  3145
1438 창조
   이런건 어떻해하면되나요? [1]
kimgoon 2008/09/21  3400
1437 창조
   이런거 만약 된다면 제발알려주세요. [2]
kimgoon 2008/09/25  3089
1436 창조
   이런;; 버그인가ㅠ_ㅠ? [6]
은지 2003/02/03  2900
1435 창조
   이런...문제가.;;MP3플레이어관련.;; [7]
이시영 2004/07/09  2914
1434 창조
   이런.... 창조 베타2.1... 리스트박스 이벤트... [3]
바람 2009/02/05  3432
LIST ALL   Prev [1]..[21][22][23][24][25][26][27][28] 29 [30]..[87] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인