C# で TaskDialog を使う
今更感がありますが、最近 C# で TaskDialog を作る機会があったのでメモがてら紹介を。 (もっと流行ってほしい そも、TaskDialog は Windows Vista から登場したメッセージ ダイアログで、操作を説明する指示テキスト (青のテキスト) を表示したり、独自のメッセージを持つボタンを配置したりすることができます。従来のダイアログ...
View ArticleWPF でシステムメニューのないウィンドウを作る
システムメニューというのは、ウィンドウ左上のアイコンをクリックしたとき、またはタスクバーを Shift + 右クリック (Windows 7 以前は右クリックのみ) したときに出るメニューです。 最近、このシステムメニューを表示したくないという要件に遭遇しました。 WindowStyle プロパティを None に、ShowInTaskbar プロパティを false...
View ArticleC# で TaskDialog を使う (2)
前回の続きになります。今回は、TaskDialog をもう少しカスタマイズしてみます。 TaskDialog のコントロール TaskDialog の要素には、前回紹介した Text、InstructionText、StandardButtons など、予め使える形で用意されているものもありますが、より複雑な要素を追加することができます。TaskDialog の Controls プロパティです。...
View ArticleC# で TaskDialog を使う (3)
いきなり投稿が一ヶ月半開くという体たらく… 仕事が忙しいせいです私のせいじゃありません 前々回、前回の続きになります。 TaskDialog が使用できるかどうか判定するには 本当は 1 回目で書いておくべきでしたが、すっかり忘れていたためここで紹介します。 TaskDialog は Windows Vista 以降でしかサポートされていません。ですので、実行時に TaskDialog...
View ArticleC# で使う TaskDialog の注意点
過去 3 回 (その 1、その 2、その 3)、Windows API Code Pack による TaskDialog について紹介してきました。 最後に、私が TaskDialog を弄ってて気付いた注意点をいくつか。 コントロールの併用 これまでいろいろ紹介してきた TaskDialog のコントロールですが、併用できるものとできないものがあります。 標準ボタン...
View ArticleRIA アーキテクチャ研究会 #4 でスピーカーやりました
RIA アーキテクチャー研究会 第4回 セミナー でお話しさせて頂きました。 一応、セミナー形式の勉強会での初セッションとなります。推薦して下さった尾上さん (@ugaya40)、かずきさん (@okazuki)、本当にありがとうございました。 Exchange Server、SharePoint Server と併せてサーバー / インフラ周りの話で Lync...
View ArticleWPF で Zune のようなウィンドウを作る
Visual Studio 2012 にも慣れてきた今日この頃。 Windows Azure や Windows Store apps の開発が流行る中、デスクトップ WPF アプリケーション開発を貫く私かっこいい!かっこわるい。仕事だから仕方ない。 ということで、デスクトップの WPF ネタを 1 つ。 最近、Zune Software にはじまり、MetroTwit や GitHub for...
View ArticleWPF で Visual Studio 2012 のような光るウィンドウを作る
前回の続きになります。先にこちらも読んで頂ければと。 WPF で Zune のようなウィンドウを作る というか、前回「もうすぐ公開します」的な雰囲気出しておきながら 1 ヶ月放置というアレっぷり。。 はい、気を取り直して。 前回の投稿で Zune ライクなウィンドウを作りましたが、今回は Visual Studio 2012 です。 Zune、MetroTwit、GitHub for Windows...
View Articleプロ生 #19@品川 でショートセッションしました
12/22 日本マイクロソフト品川本社で開催された、プログラミング生放送勉強会 第 19 回@品川 でショートセッションをしました。例によって Lync のネタです。 これは、Office Web Apps の機能を利用した、Microsoft Office の埋め込み型のプレゼンテーションです。 15...
View Articleデバイスがデジタイザー入力に対応しているかどうかを調べる
またまた Windows デスクトップ (WPF) のお話です。 先日の めとべや東京勉強会 にて、デスクトップ アプリのタッチ エクスペリエンス的な話を少しだけさせて頂きましたが、タッチ デバイスでの操作のためにタッチ向けの UI を用意するのが理想です (Office のタッチ モードのようなやつ)。 そこで、実行中のデバイスがタッチ デバイスかどうかを調べたい場合があります。タッチ...
View ArticleVisual Studio 2012 のような光るウィンドウを作る (再)、そして WPF での高 DPI 対応
以前、Zune ライクなウィンドウを作成する 投稿と Visual Studio 2012 のような光るウィンドウを作成する 投稿をしましたが、その内容のアップデートになります。先にこれらの記事を読んで頂けると嬉しいです。 今回は、主に WPF における DPI 対応のお話です (あまり需要がない)。 そもそも DPI って何ぞ? という方は、先日の勉強会の資料 もお読み頂けるといいかも。...
View ArticleRoom metro Tokyo #2 で LT しました
ご無沙汰です (死 艦これにはまりすぎました。。。 10/12 に開催された めとべや東京勉強会 #2 にて LT させて頂きました。 内容は 前回 の続きで、Windows 8.1 RTM 版において Per-Monitor DPI がどうなったのかと、その WPF での対応方法のお話です。 残念ながら Windows 8.1 RTM でも WPF アプリケーションは Per-Monitor...
View ArticleWindows 8.1 で加わった Per-Monitor DPI と WPF での対応方法
先日の めとべや東京勉強会 #2 にて WPF での Per-Monitor DPI 対応アプリのデモをしましたが、アプリが完成したので公開します。 XamClaudia https://github.com/Grabacr07/XamClaudia 間もなく Windows 8.1 公開ですね! ということで、Windows 8.1 の新機能である Per-Monitor DPI...
View ArticleWindows 8.1 でバージョン判別するときの注意点
Windows 8.1 が公開されました! ということで、Windows 8.1 に関するネタを 1 つ。 Windows 8.1 のバージョン Windows 8.1 になり、OS バージョンは 6.3 に上がりました。 OS バージョン Windows Vista 6.0 Windows 7 6.1 Windows 8 6.2 Windows 8.1 6.3 ← New! Windows 8.1...
View ArticleRoom metro Tokyo #3 資料公開
めとべや東京勉強会にてセッションさせて頂きました。 「提督業は忙しい! ~ Internal of KanColleViewer」 「提督業も忙しい!」という艦これツールを開発したので、その開発動機や中身のお話です。 艦これ未プレイの方にはわからないネタ等入ってしまっておりますが、ご容赦ください。 アプリ開発の動機、なぜああいうアプリになったか、がご理解頂ければ幸いです。...
View ArticleWPF でウィンドウ位置とサイズを保存・復元しよう
デスクトップ アプリで、ウィンドウの位置を保存したいという要望はちらほら来ます。 ただし、真面目に実装しようとすると、最大化・最小化が絡んできたときに非常に面倒です。 最大化して終了したら、最大化する直前のウィンドウの位置とサイズも保存しておかなければならなかったり。 何かベスト プラクティスはないかなーと思って調べたところ、MSDN に該当するコードがあったので、やってみました。 元ネタはこちら。...
View ArticlePrimitive コントロール探訪 – ToggleButton, RepeatButton
ちょいネタです。 (もともと XAML Advent Calendar 2013 で人が集まらなかったとき用に溜めておいた小ネタ的なもので、再編・放出したく) Primitive コントロールとは 私が勝手にそう呼んでいるだけですが、System.Windows.Controls.Primitives 名前空間に属しているコントロールのことです。 WinRT では...
View ArticleWPF アプリの国際化 (多言語対応) と、実行中の動的な言語切り替え
ご好評頂いている「提督業も忙しい!」ですが、実は日本語だけでなく、英語・中国語 (簡体字)・韓国語の4ヶ国語に対応しています。 また、@KatsuYuzu さんから pull request を頂き、実行中に使用言語を動的に切り替えられるようになりました。 (余談ですが、この pull request の内容について、@KatsuYuzu さんと Twitter の DM で会話していました。...
View ArticleTransifex でリソース (Resources.resx) の翻訳・管理をする -導入編-
前回のエントリーで、WPF アプリの国際化 (多言語対応) と、動的な言語切り替えの実装例について解説しました。 続いて、多言語化対象となるリソースを、翻訳プラットフォーム Transifex を活用して翻訳・管理する例を紹介します。 「提督業も忙しい!」を例にしていますが、Transifex で管理するようになって日が浅いので、今回は導入まで、特に既存のリソースを Transifex...
View Articleバックグラウンド スレッドで UI 要素を作るとメモリリークする (WPF)
題記の通りなのですが、一時ハマったので共有します。 正確には、「バックグラウンド スレッドで DispatcherObject を作るとメモリリークする」ですね。 例えば、バックグラウンドで画像をダウンロードして加工したり。 もしくは Grid や TextBlock といった UI 要素を使って、サムネイルやら何やらの画像を生成したいときとか。 ImageSource は Freezable...
View Article