要先引用幾個COM元件
查了一下還真麻煩
後來發現直接引進Microsoft Excel 11 Object就會自動帶入其他的COM
[C# .Net] Microsoft.Office.Interop.Excel 讀 / 寫 Excel 語法概全
Reading and Writing Excel Spreadsheets Using ADO.NET C# DbProviderFactory
星期一, 10月 19, 2009
jQuery bind與live
要加event listener時,可用bind或live來綁event
究竟兩者差在哪邊
bind如下以綁drag事件
將event在onload時,加入listener
可是當之後要動態加入時,後續加入的floatBox就不會有反應
因此得再bind的新的floatBox
這時就可以改用live,程式碼如下(只是把bind改用live)
jQuery就會聰明的自己bind事件,真的是太神奇了
$(function(){ $('.floatBox').bind('drag',function( event ){ $( this ).css({ top: event.offsetY, left: event.offsetX }); //var pageCoords = "( " + e.pageX + ", " + e.pageY + " )"; //var clientCoords = "( " + e.clientX + ", " + e.clientY + " )"; }); });
$(function(){ $('.floatBox').live('drag',function( event ){ $( this ).css({ top: event.offsetY, left: event.offsetX }); }); });
不規則 Form 透背及拖曳
簡單方法 (只限24bit color以下)
如此一來 圖中有該指定色 即會透明
如果放在panel裡,那panel也要設透背
在panel要設背景色,才會透到form上的顏色(當然...form也是透背...)
這樣裡面的東西才會透背
WebBrowser透背
只要在form的屬性設TransparencyKey 為Transparent即可
剩下的當然是網頁裡的圖要去背
另一種方法-以圖去畫透背 ( 24bit Color 以上適用 )
先引用using System.Drawing.Drawing2D;
看source吧
--
假設標題列(pnlTitle)為拖曳
form在拖拉時會產生閃爍問題
source:
C#製作不規則窗口 ( 24bit Color 以上適用 )
//將form的透明鍵值設為一特定值
//方法1.圖中的10,10為透明鍵值
this.TransparencyKey = Img.GetPixel(10,10);
//方法2.直接指定顏色為透明鍵值
this.TransparencyKey = System.Drawing.Color.Transparent;//指定透明色
this.TransparencyKey = Color.Red; //或指定特定色
如此一來 圖中有該指定色 即會透明
如果放在panel裡,那panel也要設透背
在panel要設背景色,才會透到form上的顏色(當然...form也是透背...)
xxPanel.BackColor = System.Drawing.Color.Transparent;
這樣裡面的東西才會透背
WebBrowser透背
只要在form的屬性設TransparencyKey 為Transparent即可
剩下的當然是網頁裡的圖要去背
另一種方法-以圖去畫透背 ( 24bit Color 以上適用 )
先引用using System.Drawing.Drawing2D;
看source吧
--
假設標題列(pnlTitle)為拖曳
//全域變數
int nOldWndLeft;
int nOldWndTop;
int nClickX;
int nClickY;
...
#region "GUI event"
//滑鼠按下的事件
private void pnlTitle_MouseDown(object sender, MouseEventArgs e)
{
nOldWndLeft = this.Left;
nOldWndTop = this.Top;
nClickX = e.X;
nClickY = e.Y;
}
//滑鼠拖曳事件
private void pnlTitle_MouseMove(object sender, MouseEventArgs e)
{
if (pnlTitle.Capture == true) //如果滑鼠按著拖曳
{
//'設定新的視窗位置
this.Top = e.Y + nOldWndTop - nClickY;
this.Left = e.X + nOldWndLeft - nClickX;
//更新紀錄的視窗位置
nOldWndLeft = this.Left;
nOldWndTop = this.Top;
}
}
#endregion
form在拖拉時會產生閃爍問題
//建構子裡
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 雙緩衝
source:
C#製作不規則窗口 ( 24bit Color 以上適用 )
星期五, 10月 16, 2009
facebook DataStoreAdmin怎麼搞
利用facebook的object data要來存資料
什麼type,又property看了半天都看不懂
努力查資料加亂測總算試出來了
如果把object data看成database(object)
A.建立Table
相關API: Object Data Definition API
1.Object Type:就是table(class) 原文:object type is like a "table" in SQL terminology, or a "class" in object-oriented programming concept
2.Object Properties:就是DB中的Column(或物件中屬性)
B.新增、刪除、修改資料
相關API:Object Data AccessAPI
想說總算會依樣畫葫蘆了
本能反應的用FQL來insert... 居然失敗了...
又花了點時間才發知道不是這簡單...
1.新增
搞了好久... 原來要create...
所以還是別以talbe的觀念來做 不然要想好久..
不過create完...讓我在想是只存在記憶體...重開就沒了嗎
2.修改
利用DataStoreAdmin來建立table
建了半天也建不出來,才發現只能用小寫,
有大寫字也沒說失敗 就改半天不知是怎樣
而且改成功沒有新增的或修改過的名稱不會馬上出現
要refresh過才會有
什麼type,又property看了半天都看不懂
努力查資料加亂測總算試出來了
如果把object data看成database(object)
A.建立Table
相關API: Object Data Definition API
1.Object Type:就是table(class) 原文:object type is like a "table" in SQL terminology, or a "class" in object-oriented programming concept
2.Object Properties:就是DB中的Column(或物件中屬性)
B.新增、刪除、修改資料
相關API:Object Data AccessAPI
想說總算會依樣畫葫蘆了
本能反應的用FQL來insert... 居然失敗了...
又花了點時間才發知道不是這簡單...
1.新增
搞了好久... 原來要create...
所以還是別以talbe的觀念來做 不然要想好久..
不過create完...讓我在想是只存在記憶體...重開就沒了嗎
$result=api_client->data_createObject("tablename",array('name'=>123,'tel'='123456')); //回傳即$obj_id
2.修改
api_client->data_updateObject($obj_id,$properties,$replace)
利用DataStoreAdmin來建立table
建了半天也建不出來,才發現只能用小寫,
有大寫字也沒說失敗 就改半天不知是怎樣
而且改成功沒有新增的或修改過的名稱不會馬上出現
要refresh過才會有
星期四, 10月 15, 2009
CSS去除連結虛線框,無法用輸入法,刪除,貼上
鏈結在focus後,會出現鏈結虛線
為了去除連結虛線框,會在CSS下以下語法
但利會造成輸入方塊(input type='text'),無法用輸入法、刪除、貼上
因為foucs就blur,所以無法鎖住在textbox上
就依樣畫葫蘆吧... 在textbox下void(0)...
為了去除連結虛線框,會在CSS下以下語法
//css
a, input{
outline: none; /* for Firefox */
hlbr:expression(this.onFocus=this.blur()); /* for IE */
}
但利會造成輸入方塊(input type='text'),無法用輸入法、刪除、貼上
因為foucs就blur,所以無法鎖住在textbox上
就依樣畫葫蘆吧... 在textbox下void(0)...
//html
<input type="text" style="hlbr:expression(void(0));">
訂閱:
文章 (Atom)