真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.nethdc的簡單介紹

VB.NET設(shè)置屏幕分辨率、顏色位數(shù)、刷新率 實例代碼

這篇文章介紹了VB.NET設(shè)置屏幕分辨率、顏色位數(shù)、刷新率

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)岳陽樓免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

實例代碼,有需要的朋友可以參考一下

復(fù)制代碼

代碼如下:

Private

Declare

Function

GetDeviceCaps

Lib

"gdi32"

(ByVal

hdc

As

Long,

ByVal

nIndex

As

Long)

As

Long

Private

Declare

Function

ChangeDisplaySettings

Lib

"user32"

Alias

"ChangeDisplaySettingsA"

(lpDevMode

As

Any,

ByVal

dwflags

As

Long)

As

Long

Private

Const

CCDEVICENAME

As

Long

=

32

Private

Const

CCFORMNAME

As

Long

=

32

Private

Const

DM_BITSPERPEL

As

Long

=

H40000

Private

Const

DM_PELSWIDTH

As

Long

=

H80000

Private

Const

DM_PELSHEIGHT

As

Long

=

H100000

Private

Const

DM_DISPLAYFLAGS

As

Long

=

H200000

Private

Const

DM_DISPLAYFREQUENCY

=

H400000

Private

Const

CDS_FORCE

As

Long

=

H80000000

Private

Const

BITSPIXEL

As

Long

=

12

Private

Const

HORZRES

As

Long

=

8

Private

Const

VERTRES

As

Long

=

10

Private

Const

VREFRESH

=

116

Private

Type

DEVMODE

dmDeviceName

As

String

*

CCDEVICENAME

dmSpecVersion

As

Integer

dmDriverVersion

As

Integer

dmSize

As

Integer

dmDriverExtra

As

Integer

dmFields

As

Long

dmOrientation

As

Integer

dmPaperSize

As

Integer

dmPaperLength

As

Integer

dmPaperWidth

As

Integer

dmScale

As

Integer

dmCopies

As

Integer

dmDefaultSource

As

Integer

dmPrintQuality

As

Integer

dmColor

As

Integer

dmDuplex

As

Integer

dmYResolution

As

Integer

dmTTOption

As

Integer

dmCollate

As

Integer

dmFormName

As

String

*

CCFORMNAME

dmUnusedPadding

As

Integer

dmBitsPerPel

As

Integer

dmPelsWidth

As

Long

dmPelsHeight

As

Long

dmDisplayFlags

As

Long

dmDisplayFrequency

As

Long

End

Type

Private

Sub

cmdChangeDesktopMode_Click()

Dim

DM

As

DEVMODE

With

DM

.dmPelsWidth

=

CInt(txtNewWidth.Text)

.dmPelsHeight

=

CInt(txtNewHeight.Text)

.dmBitsPerPel

=

CInt(txtNewColor.Text)

.dmDisplayFrequency

=

CInt(txtNewFreq.Text)

.dmFields

=

DM_PELSWIDTH

Or

DM_PELSHEIGHT

Or

DM_BITSPERPEL

Or

DM_DISPLAYFREQUENCY

.dmSize

=

LenB(DM)

End

With

If

ChangeDisplaySettings(DM,

CDS_FORCE)

Then

MsgBox

"錯誤!不支持此模式!"

End

If

End

Sub

Private

Sub

Form_Load()

txtOldWidth.Text

=

GetDeviceCaps(Me.hdc,

HORZRES)

txtOldHeight.Text

=

GetDeviceCaps(Me.hdc,

VERTRES)

txtOldColor.Text

=

GetDeviceCaps(Me.hdc,

BITSPIXEL)

txtOldFreq.Text

=

GetDeviceCaps(Me.hdc,

VREFRESH)

End

Sub

“未將對象引用設(shè)置到對象的實例”錯誤!(VB.NET)

使用 RichTextBox 控件

RichTextBox 控件可用于輸入和編輯文本,它同時提供了比常規(guī)的 TextBox 控件更高級的格式特性。

RichTextBox 控件提供了一些屬性,通過這些屬性,可對該控件中任何部分的文本使用不同的格式。用這些屬性,可以將文本變?yōu)榇煮w或斜體,改變文本的顏色,創(chuàng)建上標或下標。可以調(diào)整段落的左右縮進值,還可以使用懸掛式縮進。

用途

作為“無底”的文本框,可用于編寫閱讀特別大的文本文件的應(yīng)用程序。

在任何應(yīng)用程序中實現(xiàn)功能完備的文本編輯器。

特性

以 RTF 格式或 ASCII 文本格式打開或保存文件。可以使用該控件的方法(LoadFile 和 SaveFile),直接讀寫文件。也可以用該控件的屬性,比如 SelRTF 和 TextRTF,聯(lián)合 Visual Basic 的文件輸入輸出語句讀寫文件。

將 .rtf 文件的內(nèi)容裝入 RichTextBox 控件,只需將該文件(比如從 Windows 95 “資源管理器”中)的內(nèi)容直接拖入該控件,或者將其它應(yīng)用程序(比如 Microsoft Word)中使用文件的突出顯示部分直接拖入該控件。

設(shè)置 FileName 屬性,將 .rtf 或 .txt 文件的內(nèi)容裝入該控件。

用 SelPrint 方法打印 RichTextBox 控件中的全部或部分文本。

將 RichTextBox 控件綁定到 Data 控件,可以處理 Microsoft Access 數(shù)據(jù)庫的 Memo 字段,或者其它數(shù)據(jù)庫中大型的文本字段(比如 SQL 服務(wù)器中的 TEXT 數(shù)據(jù)類型)。

在運行時,用 OLEObject 集合的 Add 方法,將嵌入對象,比如位圖、圖標、應(yīng)用程序圖標,加到該控件中。在設(shè)計時或運行時,可以拖放任何嵌入對象到控件中,包括文檔,比如 Microsoft Excel 的電子表格和 Microsoft Word 文檔等。

在設(shè)計時設(shè)置滾動條

按照缺省規(guī)定,RichTextBox 沒有滾動條。在運行時,如果在該控件中裝入了較大的文件,最終用戶就不能看到文件的全部內(nèi)容了。為使用戶能夠方便地進行滾動,可將其 ScrollBars 屬性設(shè)置為 1(水平的)、2(豎直的)或 3(兩個都有)。這必須在設(shè)計時完成,因為 ScrollBars 屬性在運行時是只讀的。

用 LoadFile 和 SaveFile 方法打開和保存文件

用 LoadFile 和 SaveFile 方法可以方便地為 RichTextBox 控件打開或保存 RTF 文件。要打開文件,可用 CommonDialog 控件提供路徑名,如下所示:

Private Sub OpenFile()

'RichTextBox 控件的名稱是“rtfData”。

'CommonDialog 名為“dlgOpenFile”。

'為文件名聲明 String 變量。

'顯示 “打開文件”對話框,

'并將變量設(shè)置為文件名。

Dim strOpen As String

dlgOpenFile.ShowOpen

strOpen = dlgOpenFile.FileName

'用 LoadFile 方法打開該文件。

rtfData.LoadFile strOpen

End Sub

用 SaveFile 方法,保存文件也同樣簡便:

Private Sub SaveFile()

Dim strNewFile As String

dlgOpenFile.ShowSave

strNewFile = dlgOpenFile.FileName

rtfData.SaveFile strNewFile

End Sub

注意 如果文件中包含了該控件不能支持的 RTF 編碼,僅相關(guān)的文本在 RichTextBox 控件中將不會出現(xiàn)。

用 SelFontName、SelFontSize 和 SelFontColor 設(shè)置字體屬性

要改變 RichTextBox 控件中的字體特性,可以使用 SelFontName、SelFontSize 和 SelFontColor 屬性。

通常使用 ComboBox 控件顯示這些屬性的選項。隨后可用 ComboBox 控件的 Click 事件改變屬性。下面的代碼首先在 Form 對象的 Load 事件中,充填名為“cmbFonts”的 ComboBox 控件。然后用 Click 事件改變 RichTextBox 控件的 SelFontName 屬性。

Private Sub Form_Load()

Dim i As Integer

With cmbFonts

For i = 0 to Screen.Fonts.Count - 1

.AddItem Screen.Fonts(i).Text

End With

End Sub

Private Sub cmbFonts_Click()

rtfData.SelFontName = cmbFonts.Text

End Sub

重點 這些屬性只影響選中的文本,或者,如果沒有選中文本,則影響當前光標位置之后鍵入的文本。

格式化段落的縮進、懸掛式縮進和項目符號

RichTextBox 控件的另一個特性是它可以創(chuàng)建有縮進、懸掛式縮進和項目符號的段落。這三種樣式顯示如下:

縮進和帶項目符號的縮進 (rtf_3ind.bmp)

要使用 SelFontName、SelFontSize 和 SelFontColor 屬性,最終用戶必須選中一個或多個段落。在這里,假設(shè)用戶只選中了第二段,創(chuàng)建縮進和懸掛式縮進的代碼如下所示:

'假設(shè)該控件的名稱是“rtfData”。

rtfData.SelIndent = .5

rtfdata.SelHangingIndent = 1.5

請注意用于設(shè)置 SelIndent、SelHangingIndent、BulletIndent 和其它屬性的值,要依賴于 RichTextBox 控件的容器的 ScaleMode 屬性。例如,如果 RichTextBox 控件的容器是 Form 對象,則將該 Form 對象的 ScaleMode 屬性由 7(厘米)改為 1(緹)時,SelIndent 屬性必須同時由 0.5(厘米)改為 283(緹)。這是因為一厘米 = 567 緹。

同時還要注意段落的 SelBullet 屬性必須設(shè)置為 True,才能將該段設(shè)置為有項目符號的樣式。

用 SelChange 事件通知屬性的變化

要通告用戶選中的任何文本的當前屬性,可以使用 SelChange 事件。每當插入點改變,或者選中內(nèi)容被改變時,均會產(chǎn)生該事件。下面的示例用 Toolbar 控件通告用戶 SelBold 屬性的變化。

Private Sub rtfData_SelChange()

'重新設(shè)置 Toolbar 的 Button 對象的

' Value 屬性。該 Toolbar 控件的名稱是

'“tlbRTF”。

'SelBold 返回 0、-1 或 Null。如果它為 Null

'則將其 Mi xedState 屬性設(shè)置為 True。

Select Case rtfData.SelBold

Case 0 '不是粗體。

tlbRTF.Buttons("bold").Value = tbrUnpressed

Case -1 '粗體。

tlbRTF.Buttons("bold").Value = tbrPressed

Case Else '混合狀態(tài)。

tlbRTF.Buttons("bold").Mi xedState = True

End Select

End Sub

用 SelPrint 方法打印 RichTextBox 的內(nèi)容

要打印 RichTextBox 控件,可以使用 SelPrint 方法。該方法需要一個參數(shù),即用來打印 RichTextBox 控件內(nèi)容的 Printer 對象的 hDC 屬性。如果用戶選中了某些文本,則只打印選中的文本。如果沒有選中任何文本,則打印該控件的所有內(nèi)容。

下面的代碼,在用戶單擊 CommandButton 控件后,用 CommonDialog 控件顯示“打印機”對話框。Flags 屬性禁用了頁碼,并使用戶能夠在該對話框中選擇多種選項:

Private Sub cmdPrint_Click()

'CommonDialog 控件的名稱是“dlgPrint”。

dlgPrint.Flags = cdlPDReturnDC + cdlPDNoPageNums

If rtfData.SelLength = 0 Then

dlgPrint.Flags = dlgPrint.Flags + cdlPDAllPages

Else

dlgPrint.Flags = dlgPrint.Flags + cdlPDSelection

End If

dlgPrint.ShowPrinter

rtfData.SelPrint dlgPrint.hDC

End Sub

詳細信息 有關(guān)使用 CommonDialog 控件的詳細說明,請參閱《Visual Basic程序員指南》中的“使用 CommonDialog 控件”。

在控件中顯示嵌入對象

在運行時,最終用戶可拖動任何嵌入對象,并放入 RichTextBox 控件。在控件中可以嵌入兩種對象:以圖標形式顯示的對象,和以數(shù)據(jù)形式顯示的對象。下圖顯示了具有嵌入文件對象的 RichTextBox,作為第一種類型的示例。

單擊后,嵌入的對象就會象預(yù)料的那樣,即啟動與該文件相關(guān)聯(lián)的應(yīng)用程序。當控件中的數(shù)據(jù)以 RTF 文件形式保存時(用 SaveFile 方法),嵌入對象中的信息也將被保存。

然而,如果最終用戶在該控件中嵌入位圖,則將顯示該位圖,而不是它的圖標,如下所示:

單擊該位圖將啟動 Paint 應(yīng)用程序,使最終用戶能夠編輯該位圖。

用 OLEObjects 集合的 Add 方法添加嵌入對象

用 OLEObject 集合的 Add 方法可將嵌入對象以編程方式加入該控件,如下所示:

Private Sub cmdAddObject_Click()

'將蝴蝶位圖添加到該控件中。

RichTextBox1.OLEObjects.Add , , , "bfly.bmp"

End Sub

在運行時,可用 Add、Clear 和 Remove 方法,動態(tài)地向該控件中充填嵌入對象。

vb.?net是面向?qū)ο蟮木幊陶Z言是對嗎?

VB.net

相對VB出現(xiàn)巨大變化的是語意,從運行于基于COM的deterministic,

reference-counted的引擎之上的編程環(huán)境,轉(zhuǎn)變?yōu)槿婷嫦驅(qū)ο蟮幕?NET

Framework的語言。.NET

Framework包括了CLR(使用通用垃圾收集機制和JIT編譯引擎的虛擬機)和大量的類庫。VB開發(fā)者進入VB.NET要面對新增的大量類庫的問題。

上述變化表明了許多在運行及維護相關(guān)優(yōu)化事宜下面的假定,一些VB6函數(shù)和庫不再存在而其它的仍然可用,但是比不上.NET語言中自帶的可替換的函數(shù)和庫來得高效。即使它們可被編譯,但大多從VB6轉(zhuǎn)換而來的應(yīng)用將需要一定程度上的重構(gòu)(refactoring),以全面利用新語言的優(yōu)點。在有關(guān)句法、應(yīng)用調(diào)試、部署和術(shù)語等方面的變化,有大量的文檔可以參考。

vb.net 2008 如何將指定的窗體截圖并保存

INTOUCH自帶的就有,打印屏幕的命令

自己寫個時間條件運行那命令就可以了

PRINTSCREEN這個命令 具體怎么用 看下幫助

希望我的回答對你有所幫助

如有其他問題,可以繼續(xù)追問,您的采納是我前進的動力!

用VB.Net 編程時如何獲得打印機的物理邊距

網(wǎng)絡(luò)上找到這個比較全面,你試一下,我記得以前也是這么設(shè)置的。

int GetDeviceCaps( HDC hdc, int nIndex);

其中,hdc用來指定設(shè)備環(huán)境句柄,nIndex用來指定要獲取的參量索引,對于打印機而言,它常常需要下列的預(yù)定義值:

LOGPIXELSX 打印機水平分辨率

LOGPIXELSY 打印機垂直分辨率

PHYSICALWIDTH 打印紙的實際寬度

PHYSICALHEIGHT 打印紙的實際高度

PHYSICALOFFSETX 實際可打印區(qū)域的物理左邊距

PHYSICALOFFSETY 實際可打印區(qū)域的物理上邊距

下面的函數(shù)代碼就是用來設(shè)置頁邊距,并且還計算頁面的物理邊距:

void CEx_Prn1View::SetPageMargin(CDC *pDC, CPrintInfo *pInfo, int l, int t, int r, int b)

// l, t, r, b分別表示左上右下邊距, 單位為0.1mm

{

int nOldMode = pDC- GetMapMode();

pDC- SetMapMode(MM_LOMETRIC);

// 計算一個設(shè)備單位等于多少0.1mm

double scaleX = 254.0 / (double)GetDeviceCaps(

pDC- m_hAttribDC, LOGPIXELSX);

double scaleY = 254.0 / (double)GetDeviceCaps(

pDC- m_hAttribDC, LOGPIXELSY);

int x = GetDeviceCaps(pDC- m_hAttribDC,

PHYSICALOFFSETX);

int y = GetDeviceCaps(pDC- m_hAttribDC,

PHYSICALOFFSETY);

int w = GetDeviceCaps(pDC- m_hAttribDC,

PHYSICALWIDTH);

int h = GetDeviceCaps(pDC- m_hAttribDC,

PHYSICALHEIGHT);

int nPageWidth = (int)((double)w*scaleX + 0.5);

// 紙寬,單位0.1mm

int nPageHeight = (int)((double)h*scaleY + 0.5);

// 紙高,單位0.1mm

m_nPhyLeft = (int)((double)x*scaleX + 0.5);

// 物理左邊距,單位0.1mm

m_nPhyTop = (int)((double)y*scaleY + 0.5);

// 物理上邊距,單位0.1mm

pDC- DPtoLP(pInfo- m_rectDraw);

CRect rcTemp = pInfo- m_rectDraw;

rcTemp.NormalizeRect();

m_nPhyRight = nPageWidth - rcTemp.Width() -

m_nPhyLeft; // 物理右邊距,單位0.1mm

m_nPhyBottom = nPageHeight - rcTemp.Height() -

m_nPhyTop; // 物理下邊距,單位0.1mm

// 若邊距小于物理邊距,則調(diào)整它們

if (l m_nPhyLeft) l = m_nPhyLeft;

if (t m_nPhyTop) t = m_nPhyTop;

if (r m_nPhyRight) r = m_nPhyRight;

if (b m_nPhyBottom) b = m_nPhyBottom;

// 計算并調(diào)整pInfo- m_rectDraw的大小

pInfo- m_rectDraw.left = l - m_nPhyLeft;

pInfo- m_rectDraw.top = - t + m_nPhyTop;

pInfo- m_rectDraw.right -= r - m_nPhyRight;

pInfo- m_rectDraw.bottom += b - m_nPhyBottom;

pDC- LPtoDP(pInfo- m_rectDraw);

pDC- SetMapMode(nOldMode);

// 恢復(fù)原來的映射模式

}


文章名稱:vb.nethdc的簡單介紹
標題來源:http://weahome.cn/article/hdjdjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部