簡體   English   中英

為什么VB6.0表單顯示為C#表單?

[英]Why VB6.0 form displays as C# form?

我有一個COM DLL,它有一個表單。 此DLL由C#應用程序使用。 我為我的C#應用​​程序啟用了Visual Styles。 我不希望視覺樣式應用於COM DLL的表單。 但是,當我運行我的應用程序和lanuch COM DLL的表單時,它應用了視覺樣式。 我該如何預防呢?

很多人建議使用清單。 但是,無論我在互聯網上看到什么清單,它們都使用通用控件6.如何創建使用通用控件5.0的清單? 有些人還建議使用ActivationContext。 但是,那也需要使用通用控件5.0的正確清單嗎?

請提出建議。

如果您有一個窗體句柄(來自COM DLL),那么您可以使用Win32 API禁用該窗體上的視覺樣式:

SetWindowTheme( hwnd, "", "" );

我相信你必須P / Invoke API。 這是定義:

[DllImport("uxtheme.dll", ExactSpelling=true, CharSet=CharSet.Unicode)]
public static extern int SetWindowTheme(
   IntPtr hWnd,
   String pszSubAppName,
   String pszSubIdList);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM