2012年4月27日 星期五

Mac mini 開箱

等了很久的Mac Mini 終於來了, 
記錄一下他有什麼配備 (其實也沒什麼)


箱子

再開

我再開
打開後... 還有一個盒子



本體... 很有質感~



附一條HDMI轉DVI的線





完成啦

開機後這個小燈會亮著~~

2012年4月26日 星期四

[iOS] UITableView (Multi-Select) 多選頁面實作

剛開始學習 iOS 的開發, 在實作UITableView 的多選時,
剛開始都很順利, 不過在設定多選時出了點問題
設定好的多選頁面, 被選到cell 不會有勾選的小圖
為什麼呢?   讓我們看下去,

首先實作UITableView Controller,
建立好table view 之後實作

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;
}

並在 想要出現多選狀態時設定  setEditing 為 YES .

- (IBAction)ClickEditButton:(id)sender {
    self.isSelectMode = !self.isSelectMode;
    [self.tableView setEditing:self.isSelectMode animated:YES];
}


一般來說, 作到這邊多選的頁面就建立好了,
剩下的就等你紀錄選到的index和後續的處理...




































2012年1月1日 星期日

2011年101煙火秀 Let's go~

Ladies and gentlemen
2011年101煙火秀
Let's go~~~

基本上在封鎖線內路上是擠滿了人潮

還有人穿全套的生存遊戲裝備來秀一下

一大群憤怒島也從芬蘭趕來101


大家都在找最好的角度準備大展身手


101準備好了!
你準備好了沒!

開始噴了

這張臨時拿手機上來拍的還滿有感覺的

101好像要燒掉了

就在燒了一堆新台幣之後
101也祝大家HAPPY NEW YEAR啦
其實還有中文的新年快樂
不過我定了00:05分的龍紋身的女孩
所以我就衝去看入場啦

在此用這篇網誌祝大家
2012新年快樂


2009年10月25日 星期日

5:18

退伍至今快滿2年了,很多事情都變了,很多事情也沒改變...
世界上沒有十全十美的事情,不然就沒這麼多的偶像劇了,許多人把心靈寄託在這上面,短暫的做一場美夢,就像A片有很多人看一樣,只是做的夢不同罷了...
相處是一件很難的事情,每個人的成長背景、個性、價值觀都不會一樣,別指望一個人能有多大的轉變...
選擇是一件更難的事情,當下你永遠不知道是對是錯,不過不管如何你都要接受,或是做下一個選擇!
感謝所有陪過我成長的一切,有你們才有我!為了對我還有期待的家人,我會繼續努カ,變的更好,加油!!

2008年6月2日 星期一

阿郎戀曲&追夢人

今天騎車上班的時候,擤鼻涕竟然擤出一堆血,雖然流點血促進新陳代謝是很不錯,但也嚇了自己一大跳。
不過此時我想卻起了小時候看過兩部的片子,一陣旋律馬上在我心中迴響著...

讓青春吹動了你的長發讓它牽引你的夢,
不知不覺這紅塵的歷史已記取了你的笑容。
紅紅心中藍藍的天是個生命的開始,
春雨不眠隔夜的你曾空獨眠的日子...

我印象中是再見阿郎的電影主題曲,那是好小的時候看的電影了,周潤發主演,主要的印象就停在電影的最後,周潤發要去賽車,發生了意外。總覺得這部片實在是看了很可憐,想到都要流眼淚了...

到了公司,馬上上youtube找了相關資料來看... 才發現 我記錯了!? 再見阿郎的主題曲是另一首也是由羅大佑老師寫的歌「你的樣子」,一樣是一首非常經典的歌曲。

光聽歌 我就快哭了,再想到電影,真是夠了...

其實早上的情況應該是像我想到的另一部電影由劉德華演的天若有情一樣


是這首歌沒錯!!! 不過找不到國語版的歌..

達叔:「我殺了喇叭了...」 XD

最慘的就是吳倩蓮... 到最後還在高速公路上跑...

結論..
早期的電影都很灑狗血,看了不哭好像不是人!!


2008年5月1日 星期四

值得寫一篇網誌來紀念的一天

今天是值得紀念的一天, 因此我決定寫一篇網誌!!

一早手機鬧鐘依舊逼逼逼的吵著叫我起床,
今天也是一樣晃神的把出門前的準備工作做完就出門了.
今天的台北橋看起來真是乾淨, 沒有密密麻麻的車陣, 不知道那些車都去哪了??
因為沒有塞車, 今天異常的早到公司, 心血來潮走去買了麥當勞, 想不到麥當勞人還真多啊!?
走到公司樓下, 可能因為勞工節的關係, 某些門還沒開, 只好繞到另一邊...
結果8:25到公司, 門竟然沒開... 像流浪漢一樣地攤坐在門口... 等了一會才等到同事來開門..
只想說今天真鳥 = =

msn上的人數也是極少... 只好跟一些今天會上線的朋友, 一起抱怨一下這個值得紀念的鳥日子..

2008年4月10日 星期四

HTML VIEW學習筆記

要在建立html view, 一定要include htmlctrl.h 及 htmlview.lib

//Handle to HTML view control
HWND m_hwndHtml;
HINSTANCE m_HtmlViewInstance;

初始化:

if (m_HtmlViewInstance == 0) {
m_HtmlViewInstance = ::LoadLibrary(L"htmlview.dll");
}
else
return FALSE;

VERIFY(InitHTMLControl(m_HtmlViewInstance));

DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS|WS_BORDER;
RECT rect;
GetClientRect(GetForegroundWindow(), &rect);
m_hwndHtml = CreateWindow (DISPLAYCLASS,
NULL,
dwStyle,
rect.left,
rect.top,
rect.right,
rect.bottom,
hWnd,
0,
m_HtmlViewInstance,
NULL);
if( !m_hwndHtml)
return FALSE;

SetWindowLong(m_hwndHtml, GWL_ID, 77777);
SetFocus (m_hwndHtml);
SendMessage(m_hwndHtml, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)_T(""));

wchar_t None[1024];
LoadString(g_hInst,IDS_HTMLTEXT,None,1024);
SetHtml(None);

=============================================================

void SetHtml(wchar_t *strHtml)
{
SendMessage(m_hwndHtml, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)_T(""));
SendMessage(m_hwndHtml, DTM_ADDTEXTW, FALSE, (LPARAM)(LPCTSTR)strHtml);
SendMessage(m_hwndHtml, DTM_ENDOFSOURCE, 0, 0);
}
==============================================================

接著, 在訊息迴圈中 handle WM_NOTIFY 處理相關的動作。

case WM_NOTIFY:
{
NM_HTMLVIEW * pnmHTML = (NM_HTMLVIEW *) lParam;
LPNMHDR pnmh = (LPNMHDR) &(pnmHTML->hdr);

INLINEIMAGEINFO InlineImageInfo;
//DWORD dwCookieValue;
//LPSTR szSRCText;
HBITMAP hBitmap;

//NMHDR * pnmh = (NMHDR *)lParam;

switch (pnmh->code)
{
case NM_HOTSPOT:
{
OnLink(pnmHTML->szTarget);
//OutputDebugString(TEXT("NM_HOTSPOT\r\n"));
break;
}

case NM_INLINE_IMAGE:
{
if( 0==wcscmp( pnmHTML->szTarget,(LPCWSTR)L"rose")){
hBitmap = LoadBitmap( g_hInst, MAKEINTRESOURCE(IDB_BITMAP1));
}else if( 0==wcscmp(pnmHTML->szTarget ,(LPCWSTR)L"phone")){
hBitmap = LoadBitmap( g_hInst, MAKEINTRESOURCE(IDB_BITMAP2));
}else{
hBitmap = LoadBitmap( g_hInst, MAKEINTRESOURCE(IDB_BITMAP3));
}

BITMAP bmp;
GetObject(hBitmap, sizeof(BITMAP), &bmp);

InlineImageInfo.dwCookie = pnmHTML->dwCookie;
InlineImageInfo.iOrigHeight = bmp.bmHeight;
InlineImageInfo.iOrigWidth = bmp.bmWidth;
InlineImageInfo.hbm = hBitmap;
InlineImageInfo.bOwnBitmap = FALSE;
SendMessage(m_hwndHtml,DTM_SETIMAGE,0,(LPARAM)&InlineImageInfo);

OutputDebugString(TEXT("NM_INLINE_IMAGE\r\n"));

return 1;
/*If you are handling image processing yourself for the
HTML Control, you must return a non-zero value from
NM_INLINE_IMAGE. Otherwise the HTMLControl will attempt
to load the images on it's own, which will override the
results from your NM_INLINE_IMAGE processing code.*/

break;
}

case NM_INLINE_SOUND:
{
OutputDebugString(TEXT("NM_INLINE_SOUND\r\n"));
break;
}

case NM_TITLE:
{
OutputDebugString(TEXT("NM_TITLE\r\n"));
break;
}

case NM_META:
{
OutputDebugString(TEXT("NM_META\r\n"));
break;
}

case NM_BASE:
{
OutputDebugString(TEXT("NM_BASE\r\n"));
break;
}

case NM_CONTEXTMENU:
{
OutputDebugString(TEXT("NM_CONTEXTMENU\r\n"));
break;
}

case NM_INLINE_XML:
{
OutputDebugString(TEXT("NM_INLINE_XML\r\n"));
break;
}

case NM_BEFORENAVIGATE:
{
OutputDebugString(TEXT("NM_BEFORENAVIGATE\r\n"));
break;
}

case NM_DOCUMENTCOMPLETE:
{
OutputDebugString(TEXT("NM_DOCUMENTCOMPLETE\r\n"));
break;
}

case NM_NAVIGATECOMPLETE:
{
OutputDebugString(TEXT("NM_NAVIGATECOMPLETE\r\n"));
break;
}

case NM_TITLECHANGE:
{
OutputDebugString(TEXT("NM_TITLECHANGE\r\n"));
break;
}

default:
{
ASSERT(FALSE);
break;
}
}//switch

DeleteObject(hBitmap);

break;
}

===========================================================
處理NM_INLINE_IMAGE時, 切記要return 一個非零的值, 否則圖片會一閃即逝!!