淺談不同映射模式下的直線輸出的效果問題(2)_.Net教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:怎樣在VC中實現淡入淡出的啟動畫面一日心血來潮,想給啟動畫面來個淡入淡出,于是去谷歌(google)查了半天,無果。但知道了AnimiateWindow 這個函數。好吧 ,讓我們開始吧。首先,請在需要淡入淡出 窗口 的cpp文件或者stdafx.h加入下列代碼(注意要加在#include前面哦,否則沒有作用哦)。 以下
如果當前映射模式不合適,會導致應用端不同的輸入在四舍五入后,得到一樣的顯示。解決辦法:如Excel一般,不要提供太小的線寬,比如最小線寬必須是折算后的
一個像素。如:1/0.378 = 0.26 mm .
第四步:以上規則只適用于Pen的Line繪制方法,直線還可以通過FillRect或FillSolidRect方式。并且會出現開頭講的現像2。
來,再試試FillSolidRect會如何:
以下為引用的內容: long xStart = 100; long xLineLen = 100*10; long xInterval = 50; for(int ii=0;ii<=5;ii ) { CRect rc(xStart xInterval*ii,0,xStart xInterval*ii ii 1,xLineLen); dc.FillSolidRect(rc,RGB(255,0,0)); } |
結果:
只顯示出后四條線。
為何?為啥不四舍五入了呢?
第五步:矩形可能會是先四舍五入再算寬度的?是嗎?做個測試先。
打印時,加多一行測試:
以下為引用的內容: TRACE(_T("\n%f,%f"),rc.left*0.378,rc.right*0.378); |
輸出如下:
以下為引用的內容: 37.800000,38.178000 56.700000,57.456000 75.600000,76.734000 94.500000,96.012000 113.400000,115.290000 132.300000,134.568000 |
假設一下,如果先四舍五入,然后再相減,得到寬度是:
0 0 1 1 2 3
比較一下輸出效果,果然如此。
分享:怎樣防止ASP.NET按鈕的多次提交網上查了很多方法,都不太好使,不如自己寫一個,思路就是把按鈕按下時用Javascript在客戶端把按鈕下一次的onclick事件改為return false; 這樣在服務器端頁面重新送回客戶端之前,再次點擊按鈕都不會Post到服務端。同時將按鈕的style改為一行字的樣子,光標
相關.Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-淺談不同映射模式下的直線輸出的效果問題(2)。