🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Code::Blocks

Code::Blocksはフリーのオープンソースのクロスプラットフォームの統合開発環境 (IDE) です。

Q&A

解決済

1回答

296閲覧

CodeBlocksにてリソースファイルを追記するとSyntaxErrorになるのを解決したい

akptaro

総合スコア29

Code::Blocks

Code::Blocksはフリーのオープンソースのクロスプラットフォームの統合開発環境 (IDE) です。

0グッド

0クリップ

投稿2023/11/08 09:27

実現したいこと

CodeBlocksのWin32GUIプロジェクトにて作成されるダイアログに
”HellowWorld”と記載したい

前提

Windowsで開発、動作させようとしております。

発生している問題・エラーメッセージ

syntax Errorと以下のresource.rcでは言われます。

該当のソースコード

resource.rc

1// Generated by ResEdit 1.5.10 2// Copyright (C) 2006-2012 3// http://www.resedit.net 4 5#include <windows.h> 6#include <commctrl.h> 7#include <richedit.h> 8#include "resource.h" 9 10 11 12 13// 14// Dialog resources 15// 16LANGUAGE 0, SUBLANG_NEUTRAL 17DLG_MAIN DIALOG 0, 0, 186, 95 18STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU 19CAPTION "Dialog" 20FONT 8, "Ms Shell Dlg" 21{ 22} 23 24 25 26// 27// Manifest resources 28// 29LANGUAGE 0, SUBLANG_NEUTRAL 301 RT_MANIFEST ".\\manifest.xml" 31 32IDC_MY_STATIC_TEXT, -1, "Hello, World!", SS_LEFT | WS_CHILD | WS_VISIBLE, 100, 10, 200, 20 33 34

↑の

IDC_MY_STATIC_TEXT, -1, "Hello, World!", SS_LEFT | WS_CHILD | WS_VISIBLE, 100, 10, 200, 20

を追記しました。

試したこと

ググったりChatGPTに聞いたりしてますが
解決出来ないのです……

補足情報(FW/ツールのバージョンなど)

Windows上で開発しようとしております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Code::Blocksと言う製品について私自身はこれまで知らなかったので、興味を覚えて試してみました。
Code::Blcoks 公式

まず、質問者akptaroさんの質問に対する回答としては、リソースファイル(*.rc)での記述の仕方に間違いがあります。ダイアログボックス中に"Static"コントロール(ラベルと呼んだりもする)を貼り付けるのであれば、ダイアログボックスの{}ブロック中に正しく記載します。サンプルとして4つ、追加しています。

rc

1// Generated by ResEdit 1.5.10 2// Copyright (C) 2006-2012 3// http://www.resedit.net 4 5#include <windows.h> 6#include <commctrl.h> 7#include <richedit.h> 8#include "resource.h" 9 10 11 12 13// 14// Dialog resources 15// 16LANGUAGE 0, SUBLANG_NEUTRAL 17DLG_MAIN DIALOG 0, 0, 186, 95 18STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU 19CAPTION "Dialog" 20FONT 8, "Ms Shell Dlg" 21{ 22// ダイアログボックス上に載せるので、この{}ブロック内に書きます。 23// 24// 書式が間違ってる IDC_MY_STATIC_TEXT, -1, "Hello, World!", SS_LEFT | WS_CHILD | WS_VISIBLE, 100, 10, 200, 20 25CONTROL "Hello, World!",IDC_STATIC, "Static", SS_LEFT | WS_CHILD | WS_VISIBLE, 10, 10, 200, 20 26LTEXT "左寄せのSTATICコントロール",IDC_STATIC, 10, 30, 200, 20 27CTEXT "中央寄せのSTATICコントロール",IDC_STATIC, 10, 50, 200, 20 28RTEXT "右寄せのSTATICコントロール",IDC_STATIC, 10, 70, 200, 20 29 30} 31 32 33 34// 35// Manifest resources 36// 37LANGUAGE 0, SUBLANG_NEUTRAL 381 RT_MANIFEST ".\\manifest.xml" 39

これで保存してビルドして実行すると、下図のダイアログボックスが表示されます。
イメージ説明

質問とは少し離れ、意見を含みますが:

ググったりChatGPTに聞いたりしてますが

どのように検索、あるいはAIのプロンプトに入力されたかは分かりませんが、本件はWin32ネイティブのデスクトップアプリケーションのリソースファイルの書き方に直接関係します。その辺りを抑えないと今後の作業がままなりません。

Code::Blocks自体はクロスプラットフォームでの開発をサポートする興味深い製品だと思いますが、公式の開発環境ではないものを使うのは実は初心の方向けではありません。導入が簡単でもプラットフォーム固有の技術情報がたびたび必要になり、対応を求められます。そのような事情はCode::Blocksに限りません。

過去のご質問を拝見すると、事情があってこのような経緯になったかとは思いますが、れっきとしたアプリケーションを開発するには茨(いばら)の道かと心配になります。

投稿2023/11/08 11:07

dodox86

総合スコア9256

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akptaro

2023/11/10 04:17

>dodox86さん コメント本当にありがとうございます。 >公式の開発環境ではないものを使うのは実は初心の方向けではありません。 仰る通りですよね…… もう本当に上長に進言してみます。 本当にありがとうございましたm(_ _)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問