Q&A

  • [질문] 컨트롤 모양이 98 스타일로 나오는 건 어떤 설정을 바꿔야 하는 걸까요?

안녕하세요.
델파이2007을 사용하고 있는 개발자입니다.
컨트롤 모양에 대해서 질문드립니다.

현재 프로젝트를 진행하고 있다가 컨트롤 모양이 둔탁하게 올라오고 있는데,
도저히 변경하는 방법을 모르겠네요.



1번과 2번 둘 다 새로운 폼을 생성하여 컨트롤을 올리기만 했을 뿐 다른 어떤 변경도 하지 않은 상태의 캡쳐화면입니다.

1. 원하는 모양. (좀 깔끔하게 빠진 모양)


2. 현재 프로젝트에서 올라오는 모양. (윈도98 시절의 둔탁한 모양)



각각의 PageControl, Edit, Memo, ListBox 등의 Property 설정을 확인 및 변경해보았지만
설정은 1번과 2번 둘 다 아무런 변경없이 기본값인 상태였고요, (Parent) Ctl3D, Bevel 등의 Property 변경을 해봤지만 소용이 없네요.
해당 폼의 Property 설정도 확인 및 변경해 보았습니다.


여러가지를 변경 및 시도를 해본 결과,
델파이 시작 -> VCL Forms  Application -> Form 추가 할 때는 1번 모양으로 나오는 데,
델파이 시작 -> Form 추가 할 때는 2번 모양으로 나오는 것도 확인하였습니다.

그런데 현재 계속 2번처럼 둔탁하게 나오는데, 1번 처럼 까리하게 나오도록 변경하는 방법은 찾기 어렵네요.


이런 문제때문에 고민하시다가 해결하신 분들이나
어떻게 해야되는 지 아시는 분들의 조언 및 도움말 부탁드립니다.


+
혼자 시도해보고 검색검색해봐도 찾기가 어려워서 devgear.co.kr 에도 메일보내서 물어봤습니다.
혹시라도 devgear.co.kr 에서 답변이 와서 해결되면 자답이라도 올릴께요~

3  COMMENTS
  • Profile
    권익수 2010.04.20 19:18
    "Project Options"의 "Application"에 보면 "Enable runtime themes"라는 체크박스가 있습니다.
    그걸 체크하면 해당 컴퓨터에 설정되어있는 테마에 따라 컨트롤 모양이 바뀌게 됩니다.
    테마와 상관없이 위와 같은 디자인을 원한다면 그런 형태를 지원하는 컴퍼넌트(Quantum 이나 TMS 등등)를 사용해야겠죠.
  • Profile
    윤영훈 2010.04.20 19:41
    와~ 감사합니다.
    테스트해 본 결과 원하는 모양으로 보이는 것을 확인했습니다.
    더불어 devgear.co.kr 에서도 답변이 왔는데 같은 내용이더라고요.
    빠른 답변에 다시 감사드리며 저와 같은 문제로 고민하신 분들은 적으시겠지만
    참고하실 분들을 위해서 devgear.co.kr 에서 온 답변도 올리겠습니다.

    ==========================================================================================
    말씀하신 내용을 간단히 설명하자면, 델파이 컨트롤들에 윈도우 테마가 적용되지 않는 현상입니다.
    이것은 아래와 같은 이유가 있으며, 아주 간단한 해결책도 있습니다.

    델파이 2006까지의 버전들에서는, 정상적인 테마 지원을 위해서는 테마를 적용할 각 폼에서 XPMan 유닛을 uses 해줘야 했습니다.
    델파이 2007에서는, 이런 불편을 줄이고자 프로젝트 옵션에서 체크박스 하나로 테마 지원을 켜고 끌 수 있도록 더 쉽고 간단한 방식을 도입했습니다.
    프로젝트 옵션에서 Application 페이지를 보시면 Enable runtime themes 체크박스가 있는데, 이 체크박스를 체크하면 테마가 지원됩니다.

    하지만 이전의 uses XPMan 방식이 없어진 것은 아니고, 여전히 사용할 수 있습니다.
    다만 두 방식을 동시에 사용하면 duplicate resource 어쩌구 하는 링커 에러가 발생합니다.

    위의 Enable runtime themes 옵션은, 델파이2007보다 이전 버전에서 작성된 프로젝트를 임포트한 경우에는 기본적으로
    체크가 안되어 있으며(XPMan과의 충돌을 막기 위해서입니다), 델파이2007에서 새로 프로젝트를 만든 경우에는 기본으로 체크가 되어 있습니다.

    따라서, 말씀하신 프로젝트의 경우는, 델파이의 이전 버전에서 개발한 프로젝트를 델파이 2007에서 불러들인 것 같습니다.
    위의 Enable runtime themes 옵션을 체크하고 다시 빌드하시면 윈도우 테마가 제대로 적용되어 나올 것입니다.
    ==========================================================================================
  • Profile
    땅콩맨 2010.04.20 22:40
    와, 영훈님 devgear에 메일도 보내시고 열정이 대단하시네요. *^^*
    • whitejin
    • 2010.04.20 22:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.20 22:41
      질문하신거 아니시죠? ㅋ
    • 윤영훈
    • 2010.04.20 18:34
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 권익수
      2010.04.20 19:18
      "Project Options"의 "Application"에 보면 "Enable runtime themes"라는 체크박스가 있습니다. 그걸 체...
    • 윤영훈
      2010.04.20 19:41
      와~ 감사합니다. 테스트해 본 결과 원하는 모양으로 보이는 것을 확인했습니다. 더불어 devgear.co.kr ...
    • 땅콩맨
      2010.04.20 22:40
      와, 영훈님 devgear에 메일도 보내시고 열정이 대단하시네요. *^^*
    • 정진일
      2010.04.20 12:34
      thread를 활용하면 될거 같은데 , 관련정보나 간단한 샘플프로그램 부탁드립니다
    • 홍성락
      2010.04.20 21:53
      1.상호 타이머에 다른 타이머가 돌고 있는지(if Timer1.Enabled then) 체크해서 대응하는 코딩을 하세요. ...
    • 땅콩맨
      2010.04.20 22:38
      6개의 타이머의 Interval을 잘 정해줘야할듯 하군요...
    • _blueSky_
    • 2010.04.20 05:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • isul
      2010.04.20 20:58
      code 부분에 간단한 코드를 작성할 수 있습니다. FindWindow()로 해당 프로그램을 찾으면 될거 같습니다...
    • 황재훈
    • 2010.04.20 04:34
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박홍재
      2010.04.20 12:30
      아마도 Inventroy 관리용 프로그램을 작성을 하시는 거 같은데요. 왜 항상 커서가 수량을 입력하는 3번에...
    • 박홍재
      2010.04.20 12:41
      애구 적구 보니 조금 부족한거 같아서... 항상 프로그램에서 일단 바코드 입력 항목에 포커스가 가게 하...
    • 박홍재
      2010.04.20 18:15
      아 적구 나서 찾아보니 제가 이야기 한것을 원하시는 것이 아니군요... 해결 방법은 바코드 스케너에 보...
    • 황재훈
      2010.04.22 02:08
      생유~~~감솨....한번 해봐야 겠네요..^^
    • 임우식
    • 2010.04.20 03:51
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2010.04.20 19:40
      2010에서 string은 UnicodeString입니다. 델7의 string은 AnsiString이죠. Copy대신에 AnsiCopy함수를 쓰...
    • 임우식
      2010.04.20 22:13
      감사합니다. ^^ 그런데 length()는 어떻게 해야 되나요? length()도 델 7에서 쓰던 것처럼 2010에서 사...
    • 지환부
      2010.04.21 17:51
      최용일 님의 말씀처럼 2010에서 string은 UnicodeString입니다. 따라서 length() 함수를 사용하는 소스...
    • 조성환
    • 2010.04.19 20:42
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2010.04.19 22:01
      사용하시는 FTP컴포넌트에서 폴더 생성하는 메소드를 제공할겁니다. 그것을 이용하세요. CreateDir, Cre...
    • 이재헌
      2010.04.20 02:52
      indy component를 사용하면... IdFTP.MakeDir ('DOWN'); IdFTP.ChangeDir('DOWN'); 이
    • 조성환
      2010.04.20 08:32
      감사합니다. IIS 에서 ASP 로 만들어볼까 했는데, 알려주신 방법대로 해봐야겠네요
    • 강효석
    • 2010.04.19 19:25
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 윤상훈
      2010.04.19 21:23
      저는 델파이 7을 윈도 7에서 사용중입니다. 약간의 불편(확인창 클릭)을 감수하고 쓰고 있습니다. ...
    • 지환부
      2010.04.19 21:51
      delphi 7을 윈도우 7에서 사용중인데.. 초기에 우려와는 반대로 잘 돌아가더군요 하지만 향후에는 BDE방...
    • 한원희
      2010.04.22 00:53
      아주 특별한 경우가 아닌 이상, 델파이로 개발한 프로그램들은 Window 7에서 잘 동작하는것 같습니다. ...
    • HEIM
      2010.04.27 04:29
      개발시 OS 에 따른 개발유의 사항은 크게 없습니다. 드라이버 워크를 해야하는 상황인 경우는 해당 os에 ...
    • 강신영
    • 2010.04.19 18:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 고흥식
      2010.04.19 19:07
      버전 6 빌드 40부터 공식으로 Delphi 2009지원합니다. 2009, 2010 대부분 콤포넌트는 호환이 됩니다.
    • 지환부
      2010.04.19 21:53
      제가 알기로는 DELHPI 2010 VERSION 에서는 버전 6 빌드 45, 46, 47이 DELPHI 2010에서는 호환이 되는 ...
    • 김종명
    • 2010.04.19 17:58
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 지환부
      2010.04.19 21:54
      음 델파이는요 현재 WWW.DEVGEARSHOP.CO.KR에서 구매가 가능 한것으로 알고 있습니다. 그럼 ...
    • 김종명
      2010.04.26 18:40
      감사합니다.~
    • 김희정
      2010.04.19 18:30
      저희 회사도 D7과 파이어버드(저희는 일명 불닭) 이라는 디비를 전국에서 사용하는데 서울에 서버를 두고...
    • 이정한
      2010.04.20 00:21
      사용 DB는 문제가 없을겁니다 원거리라고 해서 문제가 발생할리도 없구요 전국에 국간 중계기가 설치...
    • 정기동
      2010.04.20 00:50
      사용자와 DB 서버간 Ping 응답속도를 반드시 확인해 보시기 바랍니다. 물론 사내에서는 1m 미만이 정상...
    • 이승근
      2010.04.20 02:08
      국내구간 원거리도 그런데 국제구간은 어련하실려고요...ㅋㅋㅋㅋ ping테스트를 점검해 봐야 겠네요... ...
    • shininggem
      2010.04.19 18:18
      // 스트링그리드셀에 마우스클릭시 접수내용 보여주기함수 PROCEDURE TMiChJoForm.MiChJO1_DATA(SEN...
    • 전봉수
      2010.04.19 22:39
      shininggem님 답변 너무 감사합니다. 너무답변 자세히 하여주셔서 면목이 없습니다. 그런데요 또한가지...
    • shininggem
      2010.04.19 22:43
      With QR_MiChJo1 do begin .... end; 삽입하세요!
    • 전봉수
      2010.04.20 00:57
      shininggem님 답변 감사합니다. 님의 답변대로하고 SQL함수가 빠버서 포함 시키 컴파일 하니까 컴파일...
    • shininggem
      2010.04.20 03:11
      Sql.Add(' SELECT NALJA,MCODE,COUNT(*) ct ' + ' FROM JARYO A, Mich B,Yhng C,Chury D,SINGO E...
    • 땅콩맨
      2010.04.20 04:02
      ct값은 count(*)의 결과를 ct라는 이름으로 정의한 것입니다. 사용자정의 이름이라서 필드목록에는 나타...
    • 전봉수
      2010.04.22 19:44
      shininggem님 안녕하십니까?. 님이 답변하여주신 코드를 기준하여 며칠동안 고생을해도 아직 문제가 풀...
    • 김남규
    • 2010.04.17 20:52
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.19 10:14
      서점에서 "Image Processing"에 관련된 책을 참고하는것도 좋을것같아요.
    • 소나기
      2010.04.19 18:25
      이미지 프로세싱 일반적인 책을 봐서는 답이 안나옵니다. 제가 다니는 회사도 엑스레이 장비쪽 프로그...
    • 땅콩맨
      2010.04.20 03:07
      소나기님이 필터라고하셔서 생각난건데 예전에 델마당에서 이미지프로세싱 프로그램 소스를 어떤분이 올...
    • 소나기
      2010.04.20 06:41
      DICOM 은 의료 영상 파일 형식입니다. 위에 김남규님이 말씀하시는 부분은 엑스레이 영상의 포스트 프...
    • 땅콩맨
      2010.04.20 22:37
      국립중앙도서관 홈페이지나 국회도서관 홈페이지등에서 관련논문을 검색해보세요. (원문도 바로볼수 ...
    • 박상윤
      2010.04.27 01:34
      ^^ 다들 답변을 잘달아 주셨네요.. 제가 보기에는 이미지 프로세싱보다는 Vision쪽 라이브러리를 찾아 ...
    • 소나기
      2010.04.27 07:55
      비젼 라이브러리는 주로 실시간 처리 목적이고 보통 소스가 SVGA 정도 수준입니다. 음 CCD DR 은 2048...
    • 이대훈
    • 2010.04.17 20:14
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.18 09:06
      클라이언트들간의 실시간 시간동기화방법은 getdate() 쿼리를 날려서 리턴된 값으로 시간을 맞춰주면 되...
    • phono
      2010.04.19 05:56
      실시간 연동이라고 하지만 최소 수백밀리 초에서 수초정도는 오차가 있을것 같은데요. 이정도는 감안...
    • 땅콩맨
      2010.04.19 08:56
      타임서버를 구축해서 동기화하느냐 구축하지 않고 동기화하느냐의 차이겠네요...
    • 땅콩맨
      2010.04.18 08:53
      Connect Event Procedure에 AThread.FreeOnTerminate := True; 를 추가해보세요
    • 최용일
      2010.04.17 09:42
      순수추상클래스는 델파이 2009부터인가 가능하구요. Interface는 아주아주 오래전부터 사용할 수 있었습...
    • 쵸파
      2010.04.18 01:04
      그렇군요.. 제가 가지고 있는 책에만 interface가 없었나 보네요. ^^; 좀 더 찾아봐야 겠습니다. 감사합...