C#下實現空白窗體上中文輸入
關鍵字:類PS的文字工具,中文輸入.重複截取中文
最近在研究做一個類PS的文字工具N多的資料,問了N多個人,總算功夫不負有人心.終於給弄出來了.寫出來給大家一起討論.
在空白窗體上打開輸入法,在C#裡的空白視窗是無論如何也是打不開輸入法.設定了this.ImeMode= ImeMode.NoControl也是無法開啟輸入法的錄影視窗.去Microsoft 開發論壇上問了一些問題.感謝週雪峰版主與Riquel_Dong 版主給的指點.用了API函數: ImmAssociateContext(IntPtr hWnd, IntPtr hIMC);終於把輸入法給調了出來,它的功能是把輸入與指定的視窗進行關聯.
:
f (m.Msg == WM_IME_SETCONTEXT && m.WParam.ToInt32() == 1)
ImmAssociateContext(this.Handle, m_hImc );
}
case WM_IME_CHAR:
sb.Append(str.To MessageBox.Show( str.ToString());
ble and the application passes this message to DefWindowProc
是不是問題就出在這裡了.是發送訊息兩次的問題.
方案:加上判斷
if (m.WParam.ToInt32() == PM_REMOVE)
測試.終於沒有問題了
代碼貼文上
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;Windows.Forms;
IntPtr m_hImc;
bool isShowChina = false;
private const int WM_IME_CHAR = 0x0286;
private const int WM_IME_COMPOSITION = 0x010F;
[DllImport (" Imm32.dll")]
public static extern IntPtr ImmGetContext(IntPtr hWnd);
[DllImport("Imm32.dll")]
public static extern IntPtr ImmAssociateContext(IntPtr hndIM)Int [DllImport(" imm32 .dll")]
static extern int ImmGetCompositionString( IntPtr hIMC, int dwIndex, StringBuilder lpBuf, int dwBufLen);
public UserControl1()
{
}
{
m_hI mc = ImmGetContext(this.Handle);
受保護訊息m) { base.WndProc(ref m);if == 1) { ImmAssociateContext(this.Handle, m_hImc ) ;
}
case WM_ CHAR:
對應 Key | ModifierKeys);
char a = (char)e.KeyData; // sb.Append(a);
isShowChina = false;
break;
if (m.WParam.ToInt32() == PM_REMOVE ) //如果不做這個判斷,會印出重複的中文
{
int size = Imm GetCompositionString(m_hImc, GCS_COMPSTR, null, 0); sizeof (Char);
ImmGetCompositionString(m_hI sb.Append(str.ToString());
MessageBox.Show intoText();
isShowChina = true;
break;
///
/// 列印文字
///
/// intoText()// { Graphics g = this.CreateGraphics(); 10); }
}
}
更多C#下實現空白窗體上中文輸入,可以實現類PS的文字工具 相關文章請關注PHP中文網!

AdobePhotoshop提供三種套餐:1)單一應用計劃,適合只需Photoshop的用戶,費用較低,包含20GB雲存儲;2)CreativeCloud全套計劃,適合需多種Adobe應用的用戶,費用較高,包含100GB雲存儲;3)學生和教師優惠計劃,適合預算有限的學術用戶,費用低,包含20GB雲存儲。

Photoshop'sprimaryfunctionistoenableuserstomanipulate,enhance,andcreatedigitalimageswithprecisionandcontrol.Itsspecialfeaturesinclude:1)alayer-basededitingsystemforindependentelementmanipulation,2)anextensivelibraryoftoolsandfiltersforvarioustasks,an

Photoshop的使用成本包括直接費用、時間與學習曲線、資源與硬件投入。 1.直接成本:訂閱制每月$20至$50,一次性購買數百美元。 2.時間與學習:需要大量時間和實踐,建議通過在線課程和教程學習。 3.資源與硬件:需要高性能電腦和足夠存儲空間,確保硬件配置以提升效率。

Photoshop的核心功能包括圖層、選區工具和調整工具。 1.圖層允許獨立編輯圖像部分,支持圖層樣式。 2.選區工具如套索、魔術棒和快速選擇工具,提供精確編輯。 3.調整工具如色階、曲線和色相/飽和度,可非破壞性調整圖像。

在Photoshop中,圖層蒙版的作用是允許以非破壞性的方式隱藏或顯示圖層的一部分。 1.圖層蒙版的工作原理是通過黑白灰度控製圖層的可見性。 2.基本用法包括圖像合成,如將人物圖像合成到新背景中。 3.高級用法可利用漸變蒙版實現圖像平滑過渡。

Photoshop的強大功能包括智能對象和神經濾鏡等,而免費替代品如GIMP、Krita和Photopea在特定領域表現出色,如GIMP的圖層功能、Krita的數字繪畫和Photopea的在線編輯。

在Photoshop中進行色彩調整可以通過調整層實現,使圖像更專業。 1.使用色階、曲線、色相/飽和度等工具調整色調、飽和度和亮度。 2.應用LUT創建獨特色彩效果。 3.使用調整層避免圖像失真,並利用“歷史記錄”面板跟踪調整步驟。

Photoshop在現實世界中的應用包括藝術創作、科學研究和商業營銷。 1)在藝術創作中,用於數字繪畫和插圖。 2)在科學研究中,用於圖像處理和數據可視化。 3)在商業營銷中,用於廣告設計和品牌形象塑造,這款軟件的多功能性使其在各領域中廣泛應用。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver CS6
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

記事本++7.3.1
好用且免費的程式碼編輯器