C에서 GUI 프로그래밍을 하려면 어떻게 해야 하나요?
저는 C에서 그래픽 프로그래밍을 하고 싶습니다.C에서 GUI 프로그래밍을 할 수 있는 풍부한 기능을 제공하는 컴파일러에 대해 많이 찾아봤지만 아무것도 찾을 수 없었습니다.
기본적으로는 버튼을 그린 후 사용자의 선택을 받아들여 적절한 조치를 취하고 싶습니다.C 컴파일러나 제 컴파일러에 추가할 수 있는 라이브러리를 제안해 주시면 감사하겠습니다.저는 윈도 운영체제를 사용하고 있습니다.
현재 버튼의 직접 작성 방법을 지원하지 않는 TURBO C 컴파일러를 사용하고 있습니다.어떤 도움이라도 주시면 감사하겠습니다.
이것은 컴파일러와는 무관합니다.컴파일러가 하는 일은 주어진 코드를 컴파일하는 것뿐입니다.원하는 컴파일러를 사용하여 코드를 작성할 수 있는 GUI 라이브러리입니다.
물론 Turbo C를 폐기하는 것이 우선입니다.그 컴파일러는 20년 정도 되었는데 계속 사용하는 것은 당신에게 도움이 되지 않습니다.최신 GUI 애플리케이션은 16비트 코드만 생성되므로 작성할 수 없습니다.최신 운영체제는 모두 32비트이며, 현재는 64비트입니다.64비트판 Windows는 16비트 어플리케이션을 네이티브로 실행하지 않습니다.그러기 위해서는 에뮬레이터가 필요합니다.DOS 에뮬레이터로 동작하는 어플리케이션만 쓸 수 있다면 큰 성취감을 얻을 수 없습니다. :- )
Microsoft의 Visual Studio Express C++는 무료로 다운로드할 수 있습니다.이 컴파일러에는 스위트 풀버전에서 사용할 수 있는 컴파일러가 포함되어 있습니다.C++ 패키지는 순수 C 코드도 컴파일합니다.
Windows에서 작업하고 있기 때문에 Windows API는 자연스러운 선택입니다.이를 통해 모든 GUI 컨트롤 세트에 액세스할 수 있는 네이티브 Windows 응용 프로그램을 쓸 수 있습니다.여기에서는 WinAPI 어플리케이션을 C로 기술하는 튜토리얼을 보실 수 있습니다.Visual Studio를 선택한 경우 빈 WinAPI 응용 프로그램의 보일러 플레이트 코드도 포함되어 있어 빠르게 실행할 수 있습니다.
이 방법을 배우고 싶다면 찰스 페트졸드의 '프로그래밍 윈도'는 이 주제에 대한 표준 자료로 읽을 가치가 있습니다.Windows API 전체가 C로 작성되었으며, 완전한 기능을 갖춘 Windows 애플리케이션을 C로 작성할 수 있습니다.구린내 나는 C++ 필요없어.
적어도 나는 그렇게 할 것이다.다른 답변에서 알 수 있듯이 GTK도 옵션입니다.다만, Windows 에서는, 이 애플리케이션이 생성되는 것은 지극히 보기 흉합니다.
편집: 구식 컴파일러를 사용하여 "GUI" 응용 프로그램을 작성하려는 것은 당신뿐만이 아닌 것 같습니다.Google 검색은 다음 라이브러리를 표시합니다.TurboGUI: Turbo C/C++용 GUI 프레임워크:
Turbo C를 사용해야 하는 경우 이 옵션을 사용할 수 있습니다.
C언어로 GUI를 만드는 가장 유명한 라이브러리는 단연 GTK입니다.
이 라이브러리를 사용하면 버튼(예:)을 쉽게 만들 수 있습니다.사용자가 버튼을 클릭하면 신호가 전송되며 핸들러를 작성하여 몇 가지 작업을 수행할 수 있습니다.
주요 기능에 win API를 사용합니다.
- RegisterClassEx() 노트: WM_CREATE, WM_COMMAND 등의 윈도 메시지를 처리하는 함수(일반적으로 WndProc라고 함)에 대한 포인터를 제공해야 합니다.
- Create WindowEx()
- Show Window()
- Update Window()
그런 다음 win의 메시지를 처리하는 다른 기능을 작성합니다(#1 참조).WM_CREATE 메시지를 수신하면 CreateWindow()를 호출해야 합니다.클래스는 해당 창의 제어입니다. 예를 들어 "edit"은 텍스트 상자이고 "button"은..버튼 :)각 컨트롤에 대해 ID를 지정해야 합니다(모든 컨트롤 중에서 고유).CreateWindow()는 해당 컨트롤에 대한 핸들을 반환합니다.이 핸들을 기억해야 합니다.사용자가 컨트롤을 클릭하면 해당 컨트롤의 ID가 포함된 WM_COMMAND 메시지가 나타납니다.여기서 당신은 그 사건을 처리할 수 있습니다.편리한 SetWindowText() 및 GetWindowText()를 사용하여 컨트롤의 텍스트를 설정/취득할 수 있습니다.
win32 SDK만 있으면 됩니다.여기서 구할 수 있어요
C는 하드웨어 프로그래밍 언어에 가깝고 C, GTK, Glade 등을 위한 쉬운 GUI 빌더가 있습니다.문제는 C에서 프로그램을 만드는 것입니다.GUI를 만드는 것은 쉬운 부분이고, 어려운 부분은 양쪽을 조합하는 것입니다.프로그램과 GUI 사이의 인터페이스는 골칫거리입니다.GUI에 따라서는 글로벌 변수를 사용하는 경우도 있고 슬롯을 사용하는 경우도 있습니다.C 프로그램 변수와 출력을 쉽게 바인딩할 수 있는 GUI 빌더가 있으면 좋겠습니다.메모리 할당과 포인터를 극복하면 CLI 프로그래밍이 쉬워집니다.GUI는 드래그 앤 드롭을 사용하는 IDE를 사용할 수 있습니다.하지만 주변에서는 더 간단할 수 있을 것 같아요.
AC컴파일러 자체 그래픽 사용자 인터페이스 기능이 있지만 그런 것들 도서관이 많이 있어 제공하지 않을 것이다.가장 인기 있는 아마도 GTK+지만, 만약 당신이 밖에 나가서 빨리 이용한 그래픽 사용자 인터페이스 일어나고 싶고 달리기 시작했습니다 그건 너무 복잡할 수 있다.
좀 더 단순한 들어, 사용자 개발 프로그램을 추천하고 싶어.이에 따라, 간단한 GUI 정의 언어 LED배치 제어 장치에(만약 당신에게를 원하지만 당신이 순수한 C로 할 수 있)사용하열 수 있다.
WindowsAPI, 그리고 WindowsSDK만약에 당신 자신(또는)WindowsAPI및 VisualC익스프레스 모든 것을 건설하고 싶습니다.2008년판다.이것은 본격적인 IDE와 소프트웨어의 MicrosoftWindows개발을 위한 놀라운 작품이다.
모든 운영 체제 C에 쓰여진다그래서 더 응용 프로그램, C의 운영 시스템에 대한 쓰기의 표준 방식을 쓰console/GUI.
언급URL:https://stackoverflow.com/questions/5450047/how-can-i-do-gui-programming-in-c
'source' 카테고리의 다른 글
WAIT와 BLOCKED 스레드 상태의 차이 (0) | 2022.09.04 |
---|---|
.X에서 Java 클래스 생성SD 파일...? (0) | 2022.09.03 |
Java에 힙이 있나요? (0) | 2022.09.03 |
Vue JS에서 구성 요소를 동적으로 렌더링하는 방법 (0) | 2022.09.03 |
ODBC를 사용하지 않고 Java에서 접근 데이터베이스 조작 (0) | 2022.09.03 |