程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 中使用win32函數 GetScrollInfo返回false 返回引用全是零的問題,

C# 中使用win32函數 GetScrollInfo返回false 返回引用全是零的問題,

編輯:C#入門知識

C# 中使用win32函數 GetScrollInfo返回false 返回引用全是零的問題,


  最近做一個項目要獲得ScrollBar的位置,因為.net找不到此類功能,只好用MFC中的函數了,GetScrollPos只返回listview頂部的位置,此時我找到了GetScrollInfo,覺得此函甚好。不成想從網上找到示例代碼後,函數執行成功了,但是返回了false,查下msdn,說是沒取到信息,然後我又用GetLastError想查看下錯誤信息,但是返回0,就是沒有錯誤,這就納悶了。

  後來又在網上不停的找,找到pinvoke這個網站,這有比較正規的調用例子http://www.pinvoke.net/default.aspx/user32.getscrollinfo,反復比對後,我發現聲明結構體時不能用class,比如這段:

public struct SCROLLINFO
{
public uint cbSize;
public uint fMask;
public int nMin;
public int nMax;
public uint nPage;
public int nPos;
public int nTrackPos;
}

  我的錯誤就是這段結構體聲明用的class而不是struct,改過以後GetScrollInfo返回true,而且結構體引用也有值了,在此分享給大家,希望對大家有用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved