#目次
1. 前回リンク
2. 次回リンク
3. やったこと
4. 配信時の録画
5. 今回学んだこと
6. オーナードローについて
7. 多言語対応について
[8. Windows API の呼び出し](#8-Windows API の呼び出し)
9. 振り返り
10. 次回予告
#1. 前回リンク
https://qiita.com/Usyuuu-program-beginner/items/2a25123f0059bf6dd1f6
#2. 次回リンク
まだ
#3. やったこと
ずっと参考にしてたサイトの内容を最後まで学んだよ
〇 参考にしているサイト
http://kaitei.net/csforms/
〇 オーナードロー
https://www.kisoplus.com/sample/owner.html
〇 ローカライズ
https://docs.grapecity.com/help/multirow-winforms-8/DesignerAdvanced_Localization.html
https://qiita.com/YSRKEN/items/a96bcec8dfb0a8340a5f
http://kaitei.net/csforms/localization/
#4. 配信時の録画
https://www.youtube.com/watch?v=8Cw6eJoCU-c
#5. 今回学んだこと
色々学んだよ
#6. オーナードローについて
例えばリストボックスで一部の要素のみ文字色を変えたり、一部の段の背景色を変える場合は「オーナードロー」を用います。
ここが「オーナードロー」とは何かを分かりやすく書いてくれてると思う。
そのままだとWindows既定の描画を行ってしまう所を、独自の方法で描画できますよって感じ。
#7. 多言語対応について
Resources.resxを編集することで、日本語表示と英語表示を動的に切り替える事が可能となる。
##7.1. 作ったもの
[Japanese]ボタンまたは[English]ボタンを押した場合、テキストボックス付きのダイアログを開くアプリを作った。
テキストボックス内では同じ文字列内容を表示するが、[Japanese]ボタンの場合は”Resources.resx”から、[English]ボタンの場合は”Resources.ja-JP.resx”から内容を読み取る。
##7.2. つくりかた
- デザイン画面で、[Japanese]ボタンと[English]ボタンを配置する
- [Japanese]ボタンと[English]ボタンのクリックイベントハンドラ関数を作成する
- 各ハンドラ関数の中身を以下の通りにする
private void Japanese_Click(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("ja-JP");
Form2 form = new Form2();
form.ShowDialog();
}
private void English_Click(object sender, EventArgs e)
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");
Form2 form = new Form2();
form.ShowDialog();
}
- ダイアログ画面は以下の様に設定
namespace Dialog
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
textBox1.Text = Properties.Resources.String1;
}
}
}
- Resourceファイルは以下の通り
- ソリューションエクスプローラは以下の通り
こんな感じで設定すると、ボタンの操作で表示言語が変わるアプリができました。
#8. Windows API の呼び出し
ここのプログラムをそのままコピペして動作確認した感じ。
WindowsAPIの使用は今後もよくあるみたいなので、ここの内容を覚えて応用していきたいですね!
#9. 振り返り
やっと参考サイトを最後まで読めたよ!
次週は何かを作っていきたいね!
#10. 次回予告
次回は12月12日(日)の20時からやるよ。
次どこを勉強するかは考えておくね
##ニコニコ配信先
https://com.nicovideo.jp/community/co3601066
##Twitch配信先
https://www.twitch.tv/programing_study_meeting
(もしかしたら次からはうしゅ~垢のツイッチで放送するかも)
##Discordリンク
https://discord.gg/7rcqhMGpvA