第三章 AutoCAD開(kāi)發(fā)環(huán)境

說(shuō)明:本篇內(nèi)容由SudoMe根據(jù)AutoCAD官方開(kāi)發(fā)文檔整理修改而來(lái),如有內(nèi)容表述不準(zhǔn)確或理解錯(cuò)誤的,請(qǐng)及時(shí)反饋。

AutoCAD開(kāi)發(fā)環(huán)境簡(jiǎn)述

AutoCAD開(kāi)發(fā)環(huán)境是在AutoCAD開(kāi)發(fā)過(guò)程中可以創(chuàng)建窗體、編輯代碼梧却、引用庫(kù)、調(diào)試運(yùn)行項(xiàng)目的地方败去,基于VB語(yǔ)法結(jié)構(gòu)的主要有兩個(gè)放航。

  • VBA交互開(kāi)發(fā)環(huán)境(VBE)
    VBE依附于開(kāi)發(fā)軟件本身,AutoCAD的VBA模塊在安裝后即可使用圆裕,可以通過(guò)AutoCAD功能區(qū)的“管理”選項(xiàng)卡→“應(yīng)用程序”面板→“Visual Basic 編輯器”或在AutoCAD命令行广鳍,輸入VBAIDE命令打開(kāi)荆几,可生成在AutoCAD中加載的dvb格式的代碼文件。
  • VB集成開(kāi)發(fā)環(huán)境(VB6.0)
    獨(dú)立的開(kāi)發(fā)軟件赊时,界面基本與VBE類似吨铸,開(kāi)發(fā)前必須要引入相應(yīng)的庫(kù),才能使用軟件的對(duì)象祖秒,可以開(kāi)發(fā)獨(dú)立的EXE軟件诞吱。

重要的視圖窗口

它跟常用的軟件一樣,都有菜單欄竭缝、工具欄以及各種窗口房维,在這里面尤其重要的三個(gè)窗口是工程資源管理器窗口、屬性窗口抬纸、代碼窗口咙俩,如果找不到對(duì)應(yīng)的窗口,可以在視圖中選擇湿故。

工程資源管理器
這是管理項(xiàng)目組件地方暴浦,默認(rèn)情況下,它默認(rèn)包含了Thisdrawing對(duì)象晓锻,在這里添加我們可以添加“窗體”、“模塊”和“類模塊”對(duì)象飞几。
引用參考:使用項(xiàng)目資源管理器 (VBA) | Microsoft Learn

項(xiàng)目組件如下:

組件 描述
Thisdrawing對(duì)象(VBE) 表示VBA代碼將訪問(wèn)的文檔砚哆。對(duì)于AutoCAD VBA項(xiàng)目,ThisDrawing表示當(dāng)前的AutoCAD圖形屑墨。
窗體 用于項(xiàng)目而構(gòu)建的自定義對(duì)話框躁锁。
標(biāo)準(zhǔn)模塊 代碼模塊組件包含通用的過(guò)程和函數(shù)。標(biāo)準(zhǔn)模塊也稱為代碼模塊卵史,或簡(jiǎn)稱為模塊战转。
類模塊 類模塊組件包含您自己的所有對(duì)象,這些對(duì)象被定義為類以躯。

注意:可以導(dǎo)入窗體、模塊或類模塊。窗體以FRM文件導(dǎo)入毡鉴,模塊以BAS文件導(dǎo)入井厌,類模塊以CLS文件導(dǎo)入。如果導(dǎo)入的組件同名址晕,導(dǎo)入會(huì)自動(dòng)添加編號(hào)膀懈。

屬性窗口
可以設(shè)置對(duì)象的屬性值。
引用參考:使用屬性窗口 (VBA) | Microsoft Learn

代碼窗口
編寫代碼的地方谨垃,在代碼窗口可以選擇對(duì)象及觸發(fā)的事件启搂。代碼是由一系列的指令和操作組成的硼控,在VBA中一段代碼用sub過(guò)程或function過(guò)程表示,常用的就是sub 過(guò)程名()....end sub胳赌。
引用參考:(VBA) 創(chuàng)建過(guò)程 | Microsoft Learn
引用參考:代碼窗口 | Microsoft Learn

引用類庫(kù)與項(xiàng)目

引用第三方庫(kù)和項(xiàng)目的方法如下:

  1. 從“工具(VBE)/工程(VB6.0)”菜單中牢撼,單擊“引用”。
  2. 在“引用”對(duì)話框中匈织,單擊“瀏覽”浪默。
  3. 在“添加引用”對(duì)話框中,選擇要引用的類庫(kù)/項(xiàng)目文件缀匕,然后單擊“打開(kāi)”纳决。
  4. 單擊“確定”按鈕以完成引用添加。

引用參考:(VBA) 設(shè)置對(duì)類型庫(kù)的引用 | Microsoft Learn

項(xiàng)目與項(xiàng)目文件命名(VBE)

項(xiàng)目名稱在VBA IDE的“屬性”窗口中設(shè)置乡小。
注意:默認(rèn)項(xiàng)目名稱:ACADProject阔加;默認(rèn)項(xiàng)目文件名:Project.dvb

VBA IDE重命名項(xiàng)目方法:

  1. 在VBA IDE的“工程資源管理器”窗口中,選擇要更改的項(xiàng)目满钟。
  2. 右鍵單擊該項(xiàng)目胜榔,然后單擊“<工程名稱>屬性”。
  3. 在“<工程名稱>-工程屬性”對(duì)話框的“工程名稱”文本框中湃番,編輯項(xiàng)目的名稱夭织。單擊“確定”。

VBA IDE重命名項(xiàng)目文件方法:

  1. 在VBA IDE中吠撮,單擊“文件”菜單→“保存”尊惰。
  2. 在“另存為”對(duì)話框中,輸入項(xiàng)目文件的新名稱和位置泥兰。單擊保存弄屡。

窗體組件

項(xiàng)目窗體

窗體可以為應(yīng)用程序創(chuàng)建自定義對(duì)話框,一般用于提供信息鞋诗、獲取信息或控制應(yīng)用程序膀捷。

模式窗體與無(wú)模式窗體
用戶窗體可以是模式的,也可以是無(wú)模式的削彬。窗體的ShowModal屬性確定它是模式還是無(wú)模式的全庸。在AutoCAD VBA中將對(duì)話框定義為模式時(shí),用戶必須先響應(yīng)該對(duì)話框融痛,然后才能繼續(xù)應(yīng)用程序的其他部分糕篇。在通過(guò)Hide或Unload方法關(guān)閉模式對(duì)話框之前,不會(huì)執(zhí)行后續(xù)代碼酌心。無(wú)模式窗體允許窗體在用戶交互時(shí)保持顯示狀態(tài)拌消,類似于浮動(dòng)調(diào)色板。
注意:模式窗體顯示時(shí)禁用應(yīng)用程序中的其他窗體,但其他應(yīng)用程序不會(huì)禁用墩崩。

創(chuàng)建窗體的方法如下:

  1. 打開(kāi)“工程資料管理器”窗口氓英,然后選擇項(xiàng)目。
  2. 從“插入”菜單中鹦筹,單擊“用戶窗體”铝阐。將創(chuàng)建窗體并將添加到項(xiàng)目中。

創(chuàng)建無(wú)模式窗體的方法如下:

  1. 打開(kāi)“項(xiàng)目”窗口铐拐,然后選擇項(xiàng)目徘键。
  2. 從“插入”菜單中,選擇“用戶窗體”遍蟋,并將“顯示模式”屬性更改為“False”吹害。
  3. 將AcFocusCtrl (AcFocusCtrl.dll) 添加到“工具箱”中,然后將控件拖到窗體上虚青。AcFocusCtrl在用戶交互期間將焦點(diǎn)保持在窗體上它呀。

關(guān)于顯示和隱藏窗體

必須先顯示用戶窗體,然后才能使用棒厘,然后在不再需要它時(shí)隱藏它纵穿。顯示窗體是通過(guò)Show方法完成的。
默認(rèn)情況下奢人,創(chuàng)建的窗體是模式窗體谓媒,因此在顯示窗體時(shí),用戶將無(wú)法直接與AutoCAD交互何乎。要允許用戶訪問(wèn)AutoCAD圖形篙耗,使用Hide方法隱藏窗體,允許用戶對(duì)AutoCAD進(jìn)行有限訪問(wèn)宪赶。

以下示例顯示名為“UserForm1”的窗體:

Public Sub MyApplication()
    UserForm1.Show
End Sub

子過(guò)程現(xiàn)在可以作為宏從VBARUN命令或AutoCAD用戶界面調(diào)用。

以下示例隱藏名為“UserForm1”的窗體:

Public Sub MyAppHide()
    UserForm1.Hide
End Sub

關(guān)于加載和卸載窗體
若要加載窗體但不顯示它脯燃,使用Load方法搂妻。然后,使用Show方法可使窗體可見(jiàn)辕棚。如果調(diào)用Show方法并且尚未加載窗體欲主,則將自動(dòng)加載它。
卸載窗體會(huì)從內(nèi)存中刪除該窗體逝嚎,并回收與該窗體關(guān)聯(lián)的所有內(nèi)存扁瓢。當(dāng)窗體不再使用且想要回收內(nèi)存時(shí),可以卸載窗體补君。隱藏方法不執(zhí)行卸載引几。應(yīng)用程序結(jié)束且窗體尚未卸載時(shí),將自動(dòng)卸載窗體挽铁。
窗體顯示伟桅、隱藏敞掘、加載、卸載方法比較如下:

方法 描述
Show 顯示窗體楣铁。如果窗體尚未加載玖雁,則會(huì)自動(dòng)加載。
Hide 隱藏窗體盖腕。窗體不會(huì)從內(nèi)存中卸載赫冬。
Load 將窗體加載到內(nèi)存中但不顯示它。
Unload 從內(nèi)存中卸載窗體溃列。這可以從Unload方法中顯式完成劲厌,也可以在應(yīng)用程序終止時(shí)自動(dòng)完成。

窗體控件

在窗體上創(chuàng)建控件需要控件工具箱哭廉,在工具箱中選定控件拖拽放置到窗體上即可脊僚。

常見(jiàn)操作

  • 控件大小設(shè)置
    單擊選擇控件,選擇邊框上夾點(diǎn)遵绰,將夾點(diǎn)拖動(dòng)到新位置辽幌,控件的大小將調(diào)整到該位置。若要移動(dòng)或調(diào)整多個(gè)控件椿访,按住Shift鍵同時(shí)選擇控件乌企。
  • 控件格式設(shè)置
    “格式”菜單上有設(shè)置控件格式的功能,可以設(shè)置控件的對(duì)齊格式成玫,使用Shift可以一次選擇多個(gè)控件加酵。
  • 控件屬性設(shè)置
    “屬性”控制控件的各種特征,例如控件的大小哭当、形狀猪腕、顏色、標(biāo)簽和默認(rèn)值钦勘。
  • 控件添加代碼
    雙擊“窗體”窗口中的控件可添加代碼陋葡。“代碼”窗口打開(kāi)后彻采,會(huì)創(chuàng)建默認(rèn)事件的子過(guò)程腐缤,也可以從“代碼”窗口右上角的事件下拉列表中選擇其他事件。

常用控件

命令按鈕(CommandButton)

  • Caption:標(biāo)題肛响。
  • Picture岭粤、 DownPicture、 DisabledPicture:分別代表正常特笋、按下剃浇、不可用狀態(tài)時(shí)顯示的圖片。

文本框(TextBox)

  • MultiLine:確定控件是否能夠接受和顯示多行文本。
  • PasswordChar:返回或設(shè)置一個(gè)值偿渡,該值指示輸入的字符或占位符在文本框控件中是否要顯示出來(lái)臼寄,返回或設(shè)置用作占位符。
    注意:如果MultiLine屬性被設(shè)為True溜宽,那么設(shè)置PasswordChar屬性將不起作用吉拳。
Private Sub Text1_LostFocus()
    If Val(Me.Text1.Text) <= 0 Or Val(Me.Text1.Text) > 20 Then
        Me.Text1.Text = ""
        Me.Text1.SetFocus
        MsgBox("請(qǐng)輸入1到20的數(shù)字")
    End If
End Sub

標(biāo)簽(Lable)
用來(lái)顯示標(biāo)題或說(shuō)明性的文字。常用屬性是Caption适揉,默認(rèn)屬性也是Caption留攒,因此可以用省略的寫法,比如Label1 = "VB程序設(shè)計(jì)開(kāi)始"嫉嘀。

復(fù)選框(CheckBox)

  • Value:確定復(fù)選框控件的狀態(tài)炼邀。0為沒(méi)有選中,默認(rèn)值剪侮;1為已選中拭宁;2為不可用。

以下示例為復(fù)選框控制文本框中文字是否為斜體字和加下劃線瓣俯。

Private Sub Form_Load()
    Me.Text1.Text = "復(fù)選框控件應(yīng)用"
    Me.Text1.Font.Size = 12
    Me.Text1.Font.Bold = True
    Me.Check1.Caption = "斜體字"
    Me.Check2.Caption = "加下劃線"
End Sub

Private Sub Check1_Click()
    If Me.Check1.Value = 1 Then
        Me.Text1.Font.Italic = True
    Else
        Me.Text1.Font.Italic = False
    End If
End Sub

Private Sub Check2_Click()
    If Me.Check2.Value = 1 Then
        Me.Text1.Font.Underline = True
    Else
        Me.Text1.Font.Underline = False
    End If
End Sub

單選按鈕(OptionButton)

Private Sub Form_Load()
    Me.Text1.Text = "單選框控件應(yīng)用"
    Me.Option1.Caption = "8號(hào)字"
    Me.Option2.Caption = "15號(hào)字"
End Sub

Private Sub Option1_Click()
    Me.Text1.Font.Size = 8
End Sub

Private Sub Option2_Click()
     Me.Text1.Font.Size = 15
End Sub

組合框(ComboBox)

  • Style:指示控件的顯示類型和行為,只能在屬性窗口設(shè)置掸犬。0,下拉式組合框绪爸,可以在列表中選擇或文本框中輸入湾碎,為默認(rèn)值;1奠货,簡(jiǎn)單組合框介褥,不能下拉;2仇味,下拉式列表框,只能下拉選擇雹顺。
  • AddItem方法:將項(xiàng)目添加到ComboBox控件中丹墨。
  • RemoveItem方法:從ComboBox控件中刪除一項(xiàng)。
  • Clear方法:清除ComboBox控件中的所有項(xiàng)目嬉愧。

列表框(ListBox)

  • Style:指示控件的顯示類型和行為,只能在屬性窗口設(shè)置贩挣。0,標(biāo)準(zhǔn)式,為默認(rèn)值王财;1卵迂,復(fù)選框式,可以選擇多項(xiàng)绒净。

定時(shí)器(Timer)
定時(shí)器控件可以使程序自動(dòng)地間隔一段時(shí)間執(zhí)行一次代碼见咒。該控件在運(yùn)行時(shí)不在窗體上出現(xiàn),一個(gè)窗體可以同時(shí)應(yīng)用多個(gè)定時(shí)器控件挂疆。

  • Interval:(最重要)確定每次發(fā)生Timer事件的時(shí)間間隔改览,單位為毫秒,默認(rèn)值為0缤言。
    注意:Timer控件沒(méi)有方法宝当,只有Timer事件。只要Timer的Enabled屬性設(shè)置為True胆萧,且Interval大于0庆揩,則Timer事件以Interval屬性指定的時(shí)間間隔發(fā)生。
Private Sub Form_Load()
    Me.Timer1.Interval = 1000
    Me.Command1.Caption = "顯示系統(tǒng)時(shí)間"
    Me.Command2.Caption = "停  止"
End Sub

Private Sub Timer1_Timer()
    Me.Text1.Text = Time
End Sub

Private Sub Command1_Click()
    Me.Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
    Me.Timer1.Enabled = False
End Sub

公共對(duì)話框(CommonDialog)
公共對(duì)話框控件是ActiveX控件(Microsoft Common Dialog Control 6.0)跌穗,提供一組標(biāo)準(zhǔn)的Windows對(duì)話框订晌,比如打開(kāi)和保存文件、設(shè)置打印選項(xiàng)瞻离、選擇顏色和字體腾仅、顯示幫助等操作,對(duì)話框控件用6種方法提供不同類型的對(duì)話框樣式套利。

方法 對(duì)話框類型
ShowOpen 打開(kāi)對(duì)話框
ShowSave 另存為對(duì)話框
ShowColor 顏色對(duì)話框
ShowFont 字體對(duì)話框
ShowPrinter 打印或打印選項(xiàng)對(duì)話框
ShowHelp 調(diào)用Windows幫助引擎
  • 公共屬性
    • DialogTitle:返回或設(shè)置該對(duì)話框標(biāo)題欄所顯示的字符串推励,比如另存為對(duì)話框默認(rèn)標(biāo)題為另存為。
  • 打開(kāi)肉迫、另存為對(duì)話框
    • FileName:返回或設(shè)置所選文件的路徑和文件名验辞。
    • InitDir:為打開(kāi)或另存為對(duì)話框指定初始的目錄,如果此屬性沒(méi)有指定喊衫,則使用當(dāng)前目錄跌造。比如:Me.CommonDialog1.InitDir = App.Path
    • Filter:返回或設(shè)置在對(duì)話框的類型列表框中所顯示的過(guò)濾器族购。語(yǔ)法為“提示信息|*.擴(kuò)展名”壳贪,若有多種文件,使用管道(|)符號(hào)將其隔開(kāi)寝杖。比如:CommonDialog1.Filter ="文本文件(*.txt)|*.txt|圖形文件(*.bmp违施;*.ico)|*.bmp;*.ico|所有文件(*.*)|*.*"瑟幕。
    • DefaultExt:當(dāng)沒(méi)有指定擴(kuò)展名時(shí)磕蒲,自動(dòng)給該文件添加指定的擴(kuò)展名留潦。

以下代碼為打開(kāi)對(duì)話框簡(jiǎn)單示例:

Private Sub Command1_Click()
    On Error Resume Next
     With Me.CommonDialog1
        .DialogTitle = "打開(kāi)圖形文件"
        .Filter = "圖形文件(*.bmp;*.ico)|*.bmp;*.ico|所有文件(*.*)|*.*"
        .InitDir = "C:\我的應(yīng)用程序"
        .ShowOpen
    End With
    Me.Text1.Text = CommonDialog1.FileName
    Me.Picture1.Picture = LoadPicture(Me.CommonDialog1.FileName)
End Sub

注意:在打開(kāi)或另存為對(duì)話框中選擇一個(gè)文件,并不能將該文件打開(kāi)或保存辣往,它僅用來(lái)返回或設(shè)置用戶在對(duì)話框中選擇的路徑和文件名兔院。

  • 顏色對(duì)話框
Private Sub Command1_Click()
    Me.CommonDialog1.Flags = cdlCCFullOpen
    Me.CommonDialog1.ShowColor
    Me.Circle(2000,2000),500,Me.CommonDialog1.Color
End Sub
  • 字體對(duì)話框
    • FontName:字體名稱。
    • FontSize:字體大小站削。
    • FontBold:值為True時(shí)選擇粗體坊萝。
    • FontItalic:值為True時(shí)選擇斜體。
    • FontStrikethru:值為True時(shí)選擇刪除線钻哩。
    • FontUnderline:值為True時(shí)選擇下劃線屹堰。
    • Color:字體顏色。要使用此值街氢,必須將 Flags 屬性設(shè)置為cdlCFEffects扯键。
  • 打印或打印選項(xiàng)對(duì)話框
    • Copies:打印份數(shù)。
    • FromPage:打印的起始頁(yè)珊肃。
    • ToPage:打印的結(jié)束頁(yè)荣刑。
    • hDC:選定打印機(jī)的設(shè)備句柄。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末伦乔,一起剝皮案震驚了整個(gè)濱河市厉亏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌烈和,老刑警劉巖爱只,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異招刹,居然都是意外死亡恬试,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門疯暑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)训柴,“玉大人,你說(shuō)我怎么就攤上這事妇拯』媚伲” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵越锈,是天一觀的道長(zhǎng)仗嗦。 經(jīng)常有香客問(wèn)我,道長(zhǎng)甘凭,這世上最難降的妖魔是什么稀拐? 我笑而不...
    開(kāi)封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮对蒲,結(jié)果婚禮上钩蚊,老公的妹妹穿的比我還像新娘。我一直安慰自己蹈矮,他們只是感情好砰逻,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著泛鸟,像睡著了一般蝠咆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上北滥,一...
    開(kāi)封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天刚操,我揣著相機(jī)與錄音,去河邊找鬼再芋。 笑死菊霜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的济赎。 我是一名探鬼主播鉴逞,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼司训!你這毒婦竟也來(lái)了构捡?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤壳猜,失蹤者是張志新(化名)和其女友劉穎勾徽,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體统扳,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡喘帚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了闪幽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啥辨。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖盯腌,靈堂內(nèi)的尸體忽然破棺而出溉知,到底是詐尸還是另有隱情,我是刑警寧澤腕够,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布级乍,位于F島的核電站,受9級(jí)特大地震影響帚湘,放射性物質(zhì)發(fā)生泄漏玫荣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一大诸、第九天 我趴在偏房一處隱蔽的房頂上張望捅厂。 院中可真熱鬧贯卦,春花似錦、人聲如沸焙贷。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)辙芍。三九已至啡彬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間故硅,已是汗流浹背庶灿。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吃衅,地道東北人往踢。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像徘层,于是被迫代替她去往敵國(guó)和親菲语。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容